freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)字集成電路驗證方法學(xué)(已修改)

2025-07-31 17:39 本頁面
 

【正文】 數(shù)字集成電路驗證方法學(xué) 浙江大學(xué) ICLAB實驗室 20221226 主要內(nèi)容 ? 驗證的必要性 ? 驗證方法學(xué)介紹 ? 驗證工具介紹 ? 演示 2 共 91頁 主要內(nèi)容 ? 驗證的必要性 ? 驗證方法學(xué)介紹 ? 驗證工具介紹 ? 演示 3 共 91頁 驗證的必要性 ? 驗證的概念,驗證與測試的區(qū)別。 ? 經(jīng)驗表明,驗證已經(jīng)占到整個產(chǎn)品開發(fā)周期的70%以上,它已經(jīng)成為復(fù)雜 SOC( System onChip)開發(fā)中的重要壁壘。 ? 制造、設(shè)計和驗證能力之間存在鴻溝 4 共 91頁 典型流程 Verification is not just very hard, it is very, very hard?沒有一個簡單的工具可以解決你所有的驗證問題。 (VSIA,Virtual Socket Interface Alliance) 5 共 91頁 主要內(nèi)容 ? 驗證的必要性 ? 驗證方法學(xué)介紹 ? 驗證工具介紹 ? 演示 6 共 91頁 驗證方法學(xué) ? 方法學(xué):又稱方法論,是一門學(xué)問采用的方法、規(guī)則與公理;一種特定的做法或一套做法。 ? 驗證方法學(xué):指完成驗證過程中的一系列方法、技術(shù)和規(guī)范。 ? ? ? 7 共 91頁 仿真技術(shù) ? 基于事件的仿真 任何一個輸入的變化都被標(biāo)記為事件,即常說的功能仿真,精度高,速度慢。比如 Modelsim, VCS。 ? 基于周期的仿真 單周期內(nèi)只檢查一次輸入并計算設(shè)計的輸出邏輯值。速度快,無時序、毛刺。比如 Cyclone。 ? 事務(wù)級仿真 一堆事件的集合即為事務(wù),即常說的驗證平臺。 ? 軟硬件協(xié)同驗證 需要專門的硬件,成本高 。 8 共 91頁 驗證方法比較 EDA驗證 軟硬件協(xié)同驗證 FPGA驗證 編譯速度 很快 較快 慢 運行速度 慢 較快 很快 環(huán)境搭建難度 簡單 難 很難 環(huán)境重用度 高 較高 低 問題定位能力 很強 很強 低 成本 低 高 較低 9 共 91頁 傳統(tǒng)驗證系統(tǒng) ? DUT: Design Under Test ? 適用于基于事件的仿真 和 基于周期的仿真。 ? 適用于簡單的設(shè)計。 缺點: 10 共 91頁 層次化的驗證系統(tǒng) 適用于事務(wù)級仿真 優(yōu)點: 11 共 91頁 為什么要用事務(wù)級仿真? 基于事件的仿真 事務(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ù)級具有自身獨立性 可重用性 無 強 抽象層次 無 有 參考模型 無 有 基于事件的仿真與事務(wù)級仿真的比較 12 共 91頁 事務(wù)級仿真 ? RVM: Reference Verification Methodology, Synopsys公司。 ? VMM: Verification Methodology Manual, ARM公司和 Synopsys公司。 ? AVM: Advanced Verification Methodology, Mentor公司。 ? OVM: Open Verification Methodology, Cadence和 Mentor公司。 ? UVM: Universal Verification Methodology, Cadence、 Mentor和 Synopsys公司。 13 共 91頁 為什么選用 OVM? 驗證方法學(xué) 側(cè)重點 EDA驗證工具 支持的驗證語言 基類庫是否 開源 RVM 層次化驗證 VCS OpenVera 否 VMM 層次化驗證 VCS SystemVerilog 是 AVM 層次化驗證 Questasim SystemC/SystemVerilog 是 OVM 開源和不同仿真器之間的透明性 支持不同驗證工具 支持SystemVerilog等多種語言 是 UVM 開源和快速入門 Questasim NCverilog VCS 支持SystemVerilog等多種語言 是 各種驗證方法學(xué)比較 14 共 91頁 OVM介紹 ? OVM是一種基于 SystemVerilog的驗證方法或者策略,已經(jīng)實現(xiàn)了一個基本的層次化驗證平臺,大大簡化驗證工程師的工作量。 ? OVM可以驗證 HDL代碼或者網(wǎng)表文件 ? OVM特點: :支持所有驗證工具 : OVM庫都是基于 SystemVerilog實現(xiàn)的,可以在網(wǎng)上下載。 :兩大公司共同開發(fā)維護 15 共 91頁 OVM結(jié)構(gòu) ? ovm_env ? ovm_sequencer ? ovm_agent ? ovm_scoreboard ? ovm_driver ? ovm_monitor 16 共 91頁 SystemVerilog介紹 ? SystemVerilog結(jié)合了 Verilog和 C++的概念,具有如下新功能: ? (OOP) 、 ? (Constraint Random)、 ? (Assertion) 、 ? (Functional Coverage) 。 17 共 91頁 ? OOP: Objectoriented programming ? 對象: 對象 (Object)是一個現(xiàn)實實體的抽象 , 對象可被認為是一個把數(shù)據(jù)(屬性)和程序(方法)封裝在一起的實體,這個程序產(chǎn)生該對象的動作 , 屬性反映了對象當(dāng)前的狀態(tài) 。 ? 面向?qū)ο缶幊?: 主要是將我們實際生活中的對象經(jīng)過抽象,將它定義成為一個類,通過類的屬性和方法來模擬生活中的這個對象。這樣使得程序更容易結(jié)構(gòu)化、抽象起來更方便。 ? 傳統(tǒng)的 編程 結(jié)構(gòu)和設(shè)計方法以過程為中心進行功能組合, 代碼的擴充和復(fù)用能力很差。對象是對 現(xiàn)實世界 實體的模擬,因面能更容易地理解需求,即使用戶和分析者之間具有不同的教育背景和工作特點,也可很好 地溝 通。 SystemVerilog介紹 面向?qū)ο缶幊? 18 共 91頁 ? 類:定義實物的抽象特點, 包含方法和屬性。 ? 對象:類的實例。 ? 方法:類的行為。 ? 繼承:子類包含類的特性。 SystemVerilog介紹 面向?qū)ο缶幊? 19 共 91頁 CRT:Constraint Random Test class my_transaction extends ovm_transaction。 rand int data_i。 constraint c_data_i { data_i = 0。 data_i 262144。 } endclass my_transaction tr = new()。 ()。 // 0小于 262144 SystemVerilog介紹 隨機約束 20 共 91頁 SystemVerilog介紹 隨機約束 class transcation。 rand bit [1:0] src。 rand bit [31:0] data。 bit [31:0] low, high。 constraint cons{ src dist {0:=40, [1:3]:=60}。 data inside {[low:high]}。 } endclass 21 共 91頁 SystemVerilog介紹 斷言 斷言 :屬于 驗證方法中的一種 ,是 對設(shè)計屬性 (行為 )的 描述, 如果 一個屬性不是我們期望的那樣,那么斷言就會失敗 。assertions與 verilog相比: 1. verilog是一種過程性語言。它的設(shè)計目的是硬件描述,它可以很好的控制時序,但是描述復(fù)雜的時序關(guān)系,代碼較為冗長。 2. assertions是一種描述性語言,設(shè)計目的為仿真驗證,可以有很多內(nèi)嵌的函數(shù)來測試特定的時序關(guān)系和自動收集覆蓋率數(shù)據(jù)。 22 共 91頁 SystemVerilog介紹 斷言 Assertion 示例 property p10。 @(posedge clock) (=data_out_design_for_check+2)amp。amp。(=data_out_design_for_check2)。 endproperty a10: assert property (p10)。 23 共 91頁 SystemVerilog介紹 斷言 property pr1。 @(posedge clock) start | req 2 (gnt==1 amp。amp。 req==0)。 endproperty A_pr1: assert property (pr1)。 24 共 91頁 SystemVerilog介紹 功能覆蓋率 ? 功能覆蓋率 : 衡量哪些設(shè)計特征已經(jīng)被程序驗證過的一個指標(biāo) ? 代碼覆蓋率 1. 語句 覆蓋 (StatementCoverage) 2. 判定覆蓋 (DecisionCoverage) 3. 條件覆蓋 (ConditionCoverage) 4. 路徑覆蓋 (PathCoverage) 25 共 91頁 語句覆蓋 ? 語句 覆蓋 (StatementCoverage): 度量被測代碼中每個可執(zhí)行語句是否被執(zhí)行到了 。 int foo(int a, int b) { return a / b。 } TeseCase: a = 10, b = 5 語句覆蓋率: 100% 代碼的 bug: b=0 26 共 91頁 判定覆蓋 amp。條件覆蓋 判定 覆蓋 (DecisionCoverage): 度量程序中每一個判定的分支是否都被測試到了 。 條件覆蓋 (ConditionCoverage): 度量判定中的每個子表達式結(jié)果 true和 false是否被測試到了。 int foo(int a, int b) { if (a 10 || b 10) // 判定 { return 0。 // 分支一 } else { return 1。 // 分支二 } } TestCaes1: a = 5, b = 15 覆蓋了分支一 TestCaes2: a = 15, b = 15 覆蓋了分支二 TestCase1: a = 5, b = 5 true, true TestCase2: a = 1
點擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1