版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)字集成電路可測性軟件設(shè)計及驗證平臺2013年4月25日2023/6/6共102頁2主要內(nèi)容可測性基礎(chǔ)可測性設(shè)計工具驗證的必要性驗證方法學(xué)介紹驗證工具介紹2023/6/6共102頁3主要內(nèi)容可測性基礎(chǔ)可測性設(shè)計工具驗證的必要性驗證方法學(xué)介紹驗證工具介紹可測性基礎(chǔ)什么是可測性設(shè)計?物理瑕疵及故障模型單一故障模型:SAFModel可測性設(shè)計常用方法檢測SAF的算法:D算法測試矢量集故障覆蓋率2023/6/6共102頁42023/6/6共102頁5什么是可測性設(shè)計?可測性設(shè)計,DesignForTest,即DFT。
為了測試所設(shè)計IC有沒有被正確的制造出來(測試半導(dǎo)體生產(chǎn)處理過程中的瑕疵,不是測試芯片設(shè)計的對錯)。DFT=增加芯片邏輯+生成測試矢量集(供測試設(shè)備用)2023/6/6共102頁6物理瑕疵和故障模型1.開路和短路
2.金屬線之間的電橋
3.漏源穿通CMOS反相器中的物理缺陷2023/6/6共102頁7
物理故障 邏輯故障
封裝引腳間的漏電或短路 單一固定故障 芯片焊接點到管腳連線斷裂 延時故障 表面玷污、含濕氣 短路或者開路故障 金屬層遷移、應(yīng)力、脫皮 …
金屬層開路、短路 … … …2023/6/6共102頁8
固定1故障:
U0的輸入端A固定接在高電平上,其值一直為“1”
固定0故障:
U1的輸出端Y固定接在低電平上,其值一直為“0”單一固定故障:stuck-atfault2023/6/6共102頁9DFT常用方法功能點測試
需在每個測試點增加可控的輸入和輸出,I/O增加掃描測試(基于D算法)
結(jié)構(gòu)化的DFT技術(shù),全掃描和部分掃描內(nèi)建自測試消除了對ATE的存儲能力和頻率的限制,更具發(fā)展?jié)摿?023/6/6共102頁10D算法D算法是20世紀60年代IBM提出測試SAF(stuck-atfaultmodel,簡稱SAF模型)的,D算法在沒有故障和有故障的電路之間產(chǎn)生了邏輯的差異(Discrepancy),D為Discrepancy縮寫,D算法即為差異算法。經(jīng)典的D算法如下:1、瞄準特定的SAF。2、驅(qū)動故障節(jié)點為反向值。3、把錯誤傳送到輸出端口。4、記錄測試向量,減掉已測試過的故障。
2023/6/6共102頁11D算法第一步:是把某個節(jié)點作為測試目標(biāo),我們把U1的輸出端作為測試的目標(biāo),探測它有無SA0的故障。2023/6/6共102頁12D算法第二步:是通過驅(qū)動該節(jié)點為相反的值以激活(activate)目標(biāo)的故障。
輸入端口輸入邏輯“0”,如U1輸出沒有SA0的故障,其邏輯“1”;如U1輸出有SA0的故障,其邏輯為“0”??梢酝ㄟ^測試其邏輯值來判斷值該節(jié)點是否有SA0的故障。2023/6/6共102頁13D算法第三步:是把故障效應(yīng)傳送到輸出端口,可以在輸出端口觀測到其邏輯值,有故障節(jié)點的邏輯值通過組合電路后可能會反向,但是差異還保留著。2023/6/6共102頁14D算法第四步:記錄向量。成功的測試向量被記錄在內(nèi)存里,已測試的故障從目標(biāo)故障的清單里減掉。2023/6/6共102頁15可測試的觸發(fā)器有兩種模式:正常模式——在這種模式下,所設(shè)計芯片以設(shè)計的原來功能工作;測試模式——在這種模式下,所設(shè)計芯片進行生產(chǎn)測試。掃描測試2023/6/6共102頁16掃描測試標(biāo)準D觸發(fā)器與標(biāo)準D觸發(fā)器等效的掃描觸發(fā)器2023/6/6共102頁17
使用掃描觸發(fā)器,會增加設(shè)計的面積,增加了路徑的延遲,增大了觸發(fā)器的輸出負載和電路的功耗。SMIC0.18μm工藝庫AREA(μm2)FFDQRHDLX63.2FFSDQRHDLX79.83增加百分比26.3%掃描測試2023/6/6共102頁18掃描測試流程2023/6/6共102頁19測試矢量集(TestPattern)
由一個或多個測試序列組成的測試矢量,測試矢量包含輸入激勵和預(yù)期的輸出響應(yīng),以測試一個目標(biāo)的故障。2023/6/6共102頁20以二輸入與非門為例,假設(shè)輸入為A,B,輸出為Y,Y=~(A*B);ABYA/1A/0B/1B/0Y/0Y/1001111101011011101101110101110010101測試矢量為:001,011,101,110
輸入激勵輸出響應(yīng)2023/6/6共102頁21故障覆蓋率
可以測試到的故障占總故障的比例。如果電路的每個節(jié)點既可以控制(controllable),又可觀測(observable),那么電路的測試覆蓋率就高。
可控,可測可控,不可測不可控點:冗余電路,門控時鐘2023/6/6共102頁22業(yè)界產(chǎn)品測試方法ATE:AutomaticTestEquipment2023/6/6共102頁232023/6/6共102頁24主要內(nèi)容可測性基礎(chǔ)可測性設(shè)計工具驗證的必要性驗證方法學(xué)介紹驗證工具介紹2023/6/6共102頁25DFTCompilerSynopsys公司的集成于DesignCompiler的先進測試綜合工具獨創(chuàng)的“一遍測試綜合”技術(shù)功能強大的掃描式可測性設(shè)計分析、綜合和驗證技術(shù)支持RTL級、門級的掃描測試設(shè)計規(guī)則檢查,以及給予約束的掃描鏈插入和優(yōu)化啟動命令source/opt/demo/synopsys.envdesign_vision&2023/6/6共102頁26設(shè)計流程2023/6/6共102頁271.Scan-ReadySynthesisDFTCompiler2023/6/6共102頁282.SetATEConfiguration2023/6/6共102頁29即測試時鐘周期為100ns,輸入端口的數(shù)據(jù)輸入到達時間為5ns,雙向端口的數(shù)據(jù)輸入到達時間為55ns,輸出端口的數(shù)據(jù)程序采樣(strobe)時間為40ns。測試時間參數(shù)的設(shè)置一般放在.synopsys_dc.setup文件中,也可以包含在DC綜合腳本文件里。測試時鐘定義了驅(qū)動所有掃描觸發(fā)器的時鐘,測試時鐘一般與電路的工作時鐘不同,它是由ATE提供的,只在測試時使用。DFTC進行設(shè)計時,假設(shè)ATE對芯片做測試的所有時鐘周期是相同的,等于test_default_period。2.SetATEConfiguration2023/6/6共102頁303.Pre-ScanCheck執(zhí)行create_test_protocol命令,生成測試協(xié)議執(zhí)行dft_drc命令,檢查設(shè)計中有無測試設(shè)計規(guī)則的違規(guī)。典型的設(shè)計綜合規(guī)則有:
capacitance,transition,andfanout典型的測試設(shè)計規(guī)則主要檢查
1.設(shè)計中是否有測試違規(guī)使得無法插入掃描鏈
2.設(shè)計中是否有測試違規(guī)使得無法捕獲數(shù)據(jù)
3.設(shè)計中是否有測試違規(guī)使得測試覆蓋率降低2023/6/6共102頁314.ScanSpecification
在DFTC中,可以用set_scan_configuration命令進行掃描路徑的管理set_scan_configuration-chain_count6set_scan_configuration-clock_mixingmix_clocksset_scan_configuration-internal_clockstrueset_scan_configuration-add_lockupfalse2023/6/6共102頁324.ScanSpecification用下面的命令定義設(shè)計中其中一條掃描鏈:set_dft_signal-viewspec-typeScanDataIn-portSI1set_dft_signal-viewspec-typeScanDataOut-portSO1set_dft_signal-viewspec-typeScanEnable-portSE–active_satate1set_san_path-viewspecC1-scan_data_inSI1–scan_data_outS012023/6/6共102頁335.ScanPreview執(zhí)行preview_dft:1.檢查掃描路徑的一致性2.確定掃描鏈的數(shù)目3.分派掃描單元和為掃描單元排次序4.加入連接的硬件2023/6/6共102頁346.ScanChainSynthesis執(zhí)行insert_dft,讀取已預(yù)覽的掃描結(jié)構(gòu)進行所需要的掃描代替插入測試點保證沒有競爭連接掃描路徑把違規(guī)減少到最少2023/6/6共102頁35SettingtheEffortLevel2023/6/6共102頁367.Post-ScanCheck2023/6/6共102頁372023/6/6共102頁388.EstimateTestcoverage2023/6/6共102頁39FileOutputwrite-formatverilog–hierarchy–output./netlist/top_pad.svwrite_sdc./sdc/top_pad.sdcwrite_test_protocol-formatstil-output./spf/top_pad.spf.sv文件和.sdc文件供布局布線工具Astro生成芯片版圖.spf文件供測試矢量生成工具Tetramax生成與測試矢量集,待芯片流片封裝好后,測試矢量集供ATE設(shè)備來測試芯片。
2023/6/6共102頁40主要內(nèi)容可測性基礎(chǔ)可測性設(shè)計工具驗證的必要性驗證方法學(xué)介紹驗證工具介紹2023/6/6共102頁41驗證的必要性驗證的概念,驗證與測試的區(qū)別。經(jīng)驗表明,驗證已經(jīng)占到整個產(chǎn)品開發(fā)周期的70%以上,它已經(jīng)成為復(fù)雜SOC(Systemon-Chip)開發(fā)中的重要壁壘。2023/6/6共102頁42典型流程
時序不滿足動態(tài)仿真正確Verificationisnotjustveryhard,itisvery,veryhard沒有一個簡單的工具可以解決你所有的驗證問題。(VSIA,Virtual
Socket
Interface
Alliance)2023/6/6共102頁43主要內(nèi)容可測性基礎(chǔ)可測性設(shè)計工具驗證的必要性驗證方法學(xué)介紹驗證工具介紹2023/6/6共102頁44驗證方法學(xué)方法學(xué):又稱方法論,是一門學(xué)問采用的方法、規(guī)則與公理;一種特定的做法或一套做法。驗證方法學(xué):指完成驗證過程中的一系列方法、技術(shù)和規(guī)范。
仿真技術(shù)
靜態(tài)技術(shù)
物理驗證
2023/6/6共102頁45仿真技術(shù)基于事件的仿真--任何一個輸入的變化都被標(biāo)記為事件,即常說的功能仿真,精度高,速度慢。比如Modelsim,VCS?;谥芷诘姆抡?-單周期內(nèi)只檢查一次輸入并計算設(shè)計的輸出邏輯值。速度快,無時序、毛刺。比如Cyclone。事務(wù)級仿真--一堆事件的集合即為事務(wù),即常說的驗證平臺。軟硬件協(xié)同驗證--需要專門的軟硬件,成本高。傳統(tǒng)仿真系統(tǒng)2023/6/6共102頁46DUT:DesignUnderTest適用于基于事件的仿真和基于周期的仿真。適用于簡單的設(shè)計。缺點:1.可擴展性差2.可重用性差層次化的驗證系統(tǒng)2023/6/6共102頁47適用于事務(wù)級仿真優(yōu)點:1.可擴展性好2.可重用性好為什么要用事務(wù)級仿真?
2023/6/6共102頁48基于事件的仿真事務(wù)級仿真Testbench代碼可讀性,可維護性差強仿真速度慢快Testbench結(jié)構(gòu)DUT復(fù)雜時,結(jié)構(gòu)混亂DUT復(fù)雜時,結(jié)構(gòu)清晰Testbench代碼量DUT簡單時,代碼量尚可DUT復(fù)雜時,代碼量巨大DUT簡單時,代碼量略多DUT復(fù)雜時。代碼量較少與待測設(shè)計聯(lián)系程度非常緊密行為級與DUT聯(lián)系緊密事務(wù)級具有自身獨立性可復(fù)用性無強抽象層次無有參考模型無有基于事件的仿真與事務(wù)級仿真的比較事務(wù)級仿真RVM:ReferenceMethodologyMethodology,Synopsys公司。VMM:Verification
MethodologyManual,ARM公司和Synopsys公司。AVM:AdvancedVerificationMethodology,Mentor公司。OVM:OpenVerificationMethodology,Cadence公司和Mentor公司UVM:UniversalVerificationMethodology,Cadence公司2023/6/6共102頁49為什么選用OVM?
驗證方法學(xué)側(cè)重點EDA驗證工具支持的驗證語言基類庫是否開源RVM層次化驗證VCSOpenVera否VMMRTL級模塊VCSSystemVerilog是AVM層次化驗證QuestasimSystemC/SystemVerilog是OVM開源和不同仿真器之間的透明性支持不同驗證工具支持SystemVerilog等多種語言是UVM開源和快速入門QuestasimNC-verilog支持SystemVerilog等多種語言是2023/6/6共102頁50各種驗證方法學(xué)比較SystemVerilog介紹SystemVerilog結(jié)合了Verilog和C++的概念,具有如下新功能:1.面向?qū)ο缶幊?OOP)、2.隨機約束(ConstraintRandom)、3.斷言(Assertion)、4.功能覆蓋率(FunctionalCoverage)。2023/6/6共102頁51OOP:Object-orientedprogramming類:定義實物的抽象特點,包含方法和屬性。對象:類的實例。方法:類的行為。繼承:子類包含類的特性。2023/6/6共102頁52SystemVerilog介紹-面向?qū)ο缶幊?/p>
CRT:ConstraintRandomTestclassmy_transactionextendsovm_transaction;
randintdata_i;constraintc_data_i{data_i>=0;data_i<262144;}
virtualfunctionvoidrandomize_();data_i=$random&18'h3ffff;endfunction2023/6/6共102頁53SystemVerilog介紹-隨機約束SystemVerilog介紹-斷言Assertion示例propertyp10;@(posedgeclock)(io.data_check_o<=data_out_design_for_check+2)&&(io.data_check_o>=data_out_design_for_check-2);endpropertya10:assertproperty(p10);2023/6/6共102頁54FunctionalCoveragecovergroup:覆蓋率模型sample():采樣函數(shù)bins:倉CovergroupCovkind;coverpointtr.kind{//kind為4位數(shù)據(jù)binszero={0};binshi[]={[8:$]};};endgroup2023/6/6共102頁55SystemVerilog介紹-功能覆蓋率OVM介紹OVM是一種基于SystemVerilog的驗證方法或者策略。OVM已經(jīng)實現(xiàn)了一個基本的層次化驗證平臺,大大簡化驗證工程師的工作量。OVM可以驗證HDL代碼或者網(wǎng)表文件OVM特點:1.開放性:支持所有驗證工具2.開源:OVM庫都是基于SystemVerilog實現(xiàn)
的,可以在網(wǎng)上下載。3.可靠性:兩大公司共同開發(fā)維護2023/6/6共102頁562023/6/6共102頁57OVM結(jié)構(gòu)ovm_envovm_sequecerovm_agentovm_transcationovm_scoreboardovm_driverovm_monitor2023/6/6共102頁58靜態(tài)技術(shù)語法檢查--用戶可以自由控制需要檢查的規(guī)則,如代碼風(fēng)格,可綜合檢查,DFT檢查。nlint工具。靜態(tài)時序分析--檢查建立、保持時間以及其他延時信息是否滿足設(shè)計時序要求。PrimeTime。形式驗證—不考慮時序信息,通常用于驗證兩個設(shè)計是否在功能上等效。Formality工具。2023/6/6共102頁59一般來說,要分析或檢驗一個電路設(shè)計的時序方面的特征有兩種主要手段:動態(tài)時序仿真(DynamicTimingSimulation)和靜態(tài)時序分析(StaticTimingAnalysis)
1.動態(tài)時序仿真:利用仿真器和延遲文件,通過反標(biāo)節(jié)點延遲信息來仿真。
優(yōu)點:可直觀查看波形;缺點:速度慢,看不到關(guān)鍵路徑。
2.靜態(tài)時序分析:分析每條時間路徑上的延遲,來查看是否存在setup/hold違反。
優(yōu)點:分析速度比較快,全面;缺點:不能查看功能是否正確。靜態(tài)時序分析
2023/6/6共102頁60
所謂形式驗證,就是通過比較兩個設(shè)計在邏輯功能是否等同的方法來驗證電路的功能。優(yōu)點:
1.不依賴于測試矢量,因此能提供更完全的驗證;
2.可以實現(xiàn)RTL-to-RTL、RTL-to-gate、gate-to-gate之間的驗證;
3.有定位功能,可以幫助你找出兩個設(shè)計之間功能不等同的原因;
4.可以使用的文件格式有VHDL、Verilog、Synopsys的.db格式,以及EDIF網(wǎng)表等;
5.可以實現(xiàn)自動的分層驗證;形式驗證2023/6/6共102頁61物理驗證--版圖級電源電壓降電遷移功耗Astro布局布線工天線效應(yīng)具中完成串?dāng)_2023/6/6共102頁62主要內(nèi)容驗證的必要性驗證方法學(xué)介紹驗證工具介紹演示
如何利用OVM完成驗證?2023/6/6共102頁63基于OVM的數(shù)字濾波器驗證平臺數(shù)模轉(zhuǎn)化器(DAC)中的數(shù)字插值濾波器做為此驗證平臺的DUT數(shù)字插值濾波器的功能:1.提高采樣頻率2.濾除帶外(帶寬20KHz)噪聲
2023/6/6共102頁64輸入信號輸出信號傳統(tǒng)的濾波器驗證平臺仿真結(jié)果傳統(tǒng)的驗證平臺:基于定向測試矢量+波形查看的方式2023/6/6共102頁65傳統(tǒng)驗證平臺沒找到BUG的原因
1.仿真時間沒有足夠長2.借助波形來判斷3.沒有與理想?yún)⒖寄P捅容^
基于OVM的驗證平臺2023/6/6共102頁66OVM驗證平臺驗證步驟利用OVM庫完成平臺代碼啟動驗證工具創(chuàng)建編譯庫編譯驗證平臺代碼啟動仿真2023/6/6共102頁67利用OVM庫完成平臺代碼擴展OVM類逐層完成
接口
數(shù)據(jù)產(chǎn)生
驅(qū)動器
驗證環(huán)境
比較器2023/6/6共102頁68OVM平臺--接口interfaceio_if();
logic[17:0]data_i;
logic[17:0]data_o;
logic[17:0]data_check_o;
modportdut_if(inputdata_i,outputdata_o);//DUT接口
modportcheck_if(inputdata_i,outputdata_check_o);//比較器模塊接口Endinterface
io_ifmy_io();//裝載接口
modulecheck(io_if.check_ifio,inputclock,rst,en);dutdut(.io(my_io),.clock(clock),.rst(rst),.en(rst_check));checkcheck(.io(my_io),.clock(clock),.rst(rst),.en(rst_check));2023/6/6共102頁69OVM平臺—數(shù)據(jù)產(chǎn)生classmy_transactionextendsovm_transaction;
randintdata_i;
functionnew(stringname="");
super.new(name);
endfunction:new
//產(chǎn)生隨機事件的約束條件constraintc_data_i{data_i>=0;data_i<262144;}virtualfunctionvoidrandomize_();
data_i=$random&18'h3ffff;endfunction`ovm_object_utils_begin(my_transaction)//在程序中`ovm_field_int(data_i,OVM_ALL_ON+OVM_DEC)
`ovm_object_utils_end
endclass:my_transaction2023/6/6共102頁70OVM平臺—驅(qū)動器
classmy_driverextendsovm_driver;//
`ovm_component_utils(my_driver)//注冊本類,這個宏的結(jié)尾沒有符號;
virtualio_ifv_io;//裝載虛擬接口
ovm_get_port#(my_transaction)get_port;//裝載與激勵發(fā)生器通信的通道接口:
functionnew(stringname,ovm_componentparent);
super.new(name,parent);
//〖建議〗驗證程序中可寫一些ovm_report_info的語句供提示用:
ovm_report_info("","Calledmy_driver::new");//在測試結(jié)果顯示此函數(shù)被調(diào)用
endfunction:new
2023/6/6共102頁71functionvoidbuild;
super.build();
ovm_report_info("","Calledmy_driver::build");
get_port=new("get_port",this);//初始化
endfunction:build
virtualtaskrun;
ovm_report_info("","Calledmy_driver::run");
forever
begin
my_transactiontx;
#1600get_port.get(tx);//從通道中取一個事件
ovm_report_info("",$psprintf("data_i=%2h",tx.data_i));v_io.dut_if.data_i=tx.data_i;
end
endtask:run
endclass:my_driver2023/6/6共102頁72OVM平臺—驗證環(huán)境
classmy_envextendsovm_env;//
`ovm_component_utils(my_env)//注冊本類
ovm_random_stimulus#(my_transaction)env_stimulus;//裝載激勵器
tlm_fifo#(my_transaction)env_fifo;//裝載通道
my_driverenv_driver;//裝載驅(qū)動器
functionnew(stringname="my_env",ovm_componentparent=null);
super.new(name,parent);
ovm_report_info("","Calledmy_env::new");
endfunction:new
2023/6/6共102頁73virtualfunctionvoidbuild;
super.build();
ovm_report_info("","Calledmy_env::build");
env_stimulus=new("env_stimulus",this);//初始化激勵器
env_fifo=new("env_fifo",this);//初始化通道
env_driver=new("env.driver",this);//初始化驅(qū)動器
endfunction:build
virtualfunctionvoidconnect;//設(shè)定連接關(guān)系
ovm_report_info("","Calledmy_env::connect");
env_stimulus.blocking_put_port.connect(env_fifo.put_export);//激勵器側(cè)接口-放事件
env_driver.get_port.connect(env_fifo.get_export);//驅(qū)動器側(cè)接口-取事件
endfunction:connect2023/6/6共102頁74virtualfunctionvoidconfigure;//
ovm_report_info("","Calledmy_env::configure");
env_stimulus.set_report_id_action("stimulusgeneration",OVM_NO_ACTION);//限制顯示信息
endfunction:configure//你可刪除上一行,看看有什么變化?
taskrun();
ovm_report_info("","Calledmy_env::run");
endtask:run
virtualfunctionvoidreport;
ovm_report_info("","Calledmy_env::report");
endfunction:report
//在運行下面的run_test()函數(shù)時,以上函數(shù)將自動依次運行
endclass:my_env2023/6/6共102頁75modulecheck(io_if.check_ifio,inputclock,rst,en,input[17:0]data_out_design_for_check);wire[17:0]hcic_out;//參考模型Hcic_fullHcic_full
(clock,
en,rst,
io.data_i,
hcic_out,);assignio.data_check_o=hcic_out;propertyp10;
@(posedgeclock)(io.data_check_o<=data_out_design_for_check+2)&&(io.data_check_o>=data_out_design_for_check-2)||io.data_check_o==0;endpropertya10:assertproperty(p10);endmodule2023/6/6共102頁76OVM平臺—比較器`timescale1ns/1nsmoduletop;
importovm_pkg::*;
importmy_pkg::*;
parameterclock_cycle=100;
bitclock;
bitrst;
bitrst_check;
io_ifmy_io();//裝載接口
dutdut(.io(my_io),.clock(clock),.rst(rst),.en(rst_check));//裝載DUT
checkcheck(.io(my_io),.clock(clock),.rst(rst),.en(rst_check),
.data_out_design_for_check(my_io.dut_if.data_o));
//〖建議〗在驗證程序頂級模塊中一般采用繼承ovm_test的類包裝繼承ovm_env的類2023/6/6共102頁77OVM平臺—頂層模塊
classmy_testextendsovm_test;
`ovm_component_utils(my_test)//注冊本類
my_envtop_env;//裝載環(huán)境-top_env
functionnew(stringname="my_test",ovm_componentparent=null);
super.new(name,parent);
ovm_report_info("","Calledmy_test::new");
endfunction:new
virtualfunctionvoidbuild;
super.build();
ovm_report_info("","Calledmy_test::build");
top_env=new();//初始化
//〖建議〗在驗證程序中可設(shè)定看門狗
set_global_timeout(1000000us);
endfunction:build
2023/6/6共102頁78virtualfunctionvoidconnect;
ovm_report_info("","Calledmy_test::connect");
top_env.env_driver.v_io=my_io;//連接虛擬接口到驅(qū)動器的物理接口
endfunction:connect
taskrun;
my_transactiontx;
tx=new();
ovm_report_info("","Calledmy_test::run");
top_env.env_stimulus.generate_stimulus(tx,2000000);//激勵器產(chǎn)生20個事件
endtask:run
endclass:my_test2023/6/6共102頁79initialbeginrun_test(“my_test”);
clock=0;
rst=0;
rst_check=0;
#(32*clock_cycle)rst=1;
endalways#(clock_cycle/2)clock=~clock;initial
begin
$fsdbDumpfile("top.fsdb");
$fsdbDumpSVA;
$fsdbDumpvars(0,top,"+all");end
endmodule:top2023/6/6共102頁80啟動驗證工具利用mentor的questasim,界面和操作類似于modelsim環(huán)境變量source/opt/demo/questasim.env啟動命令vsim&2023/6/6共102頁81腳本方式完成驗證vlibdac_hcic//創(chuàng)建庫vlog+acc-f../rtl/ovm_rtl/compile_questa_sv.f-workdac_hcic-sv+cover//編譯整個驗證平臺vsim-cdac_hcic.top-sv_seed100-coverage-assertcover-assertdebug-sva-voptargs=“+acc”-pli/opt/springsoft/verdi/share/PLI/MODELSIM/LINUX/novas_fli.so//啟動仿真viewassertions//查看斷言run-all//開始運行quit-sim//結(jié)束仿真2023/6/6共102頁82compile_questa_sv.f+incdir+/home1t/opt/questasim/questasim/verilog_src/ovm-2.1.2/src/home1t/opt/questasim/questasim/verilog_src/ovm-2.1.2/src/ovm_pkg.sv+incdir+/home/liuxp/dac/rtl/ovm_rtl+incdir+/home/liuxp/dac/rtl/dac_balise/dac_haf_cic/home/liuxp/dac/rtl/ovm_rtl/ovm_start.sv2023/6/6共102頁83結(jié)果查看斷言結(jié)果查看覆蓋率查看2023/6/6共102頁84斷言結(jié)果查看—Questasim下2023/6/6共102頁85斷言結(jié)果查看—Verdi下2023/6/6共102頁86Verdi(另外一個軟件,專門用作波形查看和調(diào)試)下查看斷言結(jié)果更加直觀,箭頭朝上就表示端正通過,朝下表示斷言失敗。覆蓋率查看2023/6/6共102頁87覆蓋率查看2023/6/6共102頁88靜態(tài)驗證工具靜態(tài)時序分析—PrimeTime形式驗證--Formality2023/6/6共102頁89靜態(tài)時序分析—PrimeTimePrimeTime是Synopsys的靜態(tài)時序分析軟件,常被用來分析大規(guī)模、同步、數(shù)字ASIC。PrimeTime適用于門級的電路設(shè)計。1.邏輯綜合后網(wǎng)表2.自動布局布線后網(wǎng)表2023/6/6共102頁90PrimeTime流程
1.設(shè)置查找和鏈接路徑;2.讀入并鏈接所要分析的設(shè)計;3.設(shè)置操作條件和線上負載模型;4.設(shè)置基本的時序約束;5.檢查所設(shè)置的約束以及該設(shè)計的結(jié)構(gòu)。2023/6/6共102頁91PrimeTime工具啟動source/opt/demo/synopsys.envpt_shellprimetime&2023/6/6共102頁922023/6/6共102頁93命令輸入?yún)^(qū)2023/6/6共102頁94PrimeTime腳本—sourcept.scrsetlib_path/home1t/smic/smic_65/SCC65NLL_HS_RVT_V1p1asetsmic_stdlib_path${lib_path}/synopsys/1.2v/setsmic_diolib_path/home1t/smic/smic_65/SP65NLLD2RP_OV3_TTM_V0p2a/syn/3p3v/setsmic_aiolib_path/home1t/smic/smic_65/SP65NLLD2RP_OV3_ANALOG_TTM_V0p2a/syn/3p3v/setsmic_stdsymlib_path${lib_path}/Symbol/setsearch_path"$search_path$smic_stdlib_path$smic_aiolib_path\$smic_diolib_path$smic_stdsymlib_path$smic_iosymlib_path“setlink_path"*scc65nll_hs_rvt_ss_v1p08_125c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024樓頂廣告牌制作加工合同樣本
- 2024棉花收購合同范文
- 2024年安全員職責(zé)履行及待遇約定的合同
- 2024年度租賃物維修保養(yǎng)合同服務(wù)內(nèi)容與責(zé)任劃分
- 2024年度智能穿戴設(shè)備采購供應(yīng)合同
- 2024企業(yè)間就市場營銷合作合同
- 2024云計算服務(wù)提供商股權(quán)轉(zhuǎn)讓合同
- 2024年體育賽事贊助合同贊助金額與權(quán)益分配
- 2024年北京市影視作品制作委托合同
- 2024年企業(yè)碳足跡監(jiān)測與減排合同
- 安徽省淮北市地方婚禮流程資料
- 附件3-4歐曼金融服務(wù)經(jīng)銷商融資業(yè)務(wù)介紹
- 中醫(yī)骨傷科學(xué)9肩周炎上肢傷筋
- 五年級分數(shù)乘法口算練習(xí)
- 客戶服務(wù)管理七大原則
- 斜井常閉式防跑車裝置設(shè)計說明書
- 購買文件登記表.doc
- [山東]建筑工程施工技術(shù)資料管理規(guī)程表格
- 《葫蘆絲演奏的入門練習(xí)》教學(xué)設(shè)計
- 噪聲傷害事故PPT課件
- 四川省農(nóng)業(yè)水價綜合改革試點末級渠系工程建設(shè)項目實施方案
評論
0/150
提交評論