<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Verilog代碼驗證的全面性與代碼覆蓋率分析

          Verilog代碼驗證的全面性與代碼覆蓋率分析

          作者: 時間:2012-04-20 來源:網(wǎng)絡(luò) 收藏

          對于復(fù)雜的設(shè)計來說,檢查是檢查工作是否完全的重要方法,(codecoverge)可以指示描述的功能有多少在仿真過程中被過了,代碼包括以下內(nèi)容。

          本文引用地址:http://www.ex-cimer.com/article/149192.htm

          1、語句覆蓋率(statementcoverge),又稱為聲明覆蓋率,用于每個聲明在過程中執(zhí)行的次數(shù)。例如:

          always@(areq0orareq1)

          begin

          gnt0=0;//聲明

          if(areq0==1)

          gnt=1;//聲明2

          end

          仿真過程結(jié)束后將給出報告,說明整個仿真過程中每個聲明執(zhí)行了多少次。如果某些聲明沒有執(zhí)行過,則需要進行補充仿真。

          2、路徑覆蓋率(pathcoverge),在設(shè)計中往往使用分支控制語句來根據(jù)不同的條件進行不同的操作,路徑覆蓋率分析可以指出所有分支是否執(zhí)行了,路徑覆蓋率分析主要以if-else語句的各種分支為分析對象。例如:

          If(areq0)

          begin

          ……

          end

          If(areq1)

          begin

          ……。。

          End

          這段代碼中存在4條路徑,分別對應(yīng)著從areq0=0,areq0=1,areq1=0,areq1=1,經(jīng)覆蓋率就是要分析整個驗證過程中所有分支路徑都曾經(jīng)出現(xiàn)過。

          3、狀態(tài)機覆蓋率(statemachinecoverge)用于統(tǒng)計在仿真過程中狀態(tài)機發(fā)生了哪些跳轉(zhuǎn),這種分析可以防止驗證過程中某些狀態(tài)跳轉(zhuǎn)從來沒有發(fā)生過,從而造成設(shè)計隱患。

          4、觸發(fā)覆蓋率(triggeringcoverge)分析用于檢查在仿真過程中某些局部電路是否發(fā)生過由于某個信號的變化而觸發(fā)進行運算和操作的情況。例如:

          always@(areq0orareq1orareq2)

          begin

          ……。。

          End

          觸發(fā)覆蓋率分析會檢查該電路是否由于areq0、areq1、areq2的變化而被執(zhí)行,如果仿真過程中沒有出現(xiàn)過因某個信號(如areq2)的變化而執(zhí)行電路功能的情況,那么就會給出提示,驗證者需要在testbench中補充測試內(nèi)容,以避免存在設(shè)計缺陷。

          5、表達式覆蓋率分析(expressioncoverge),用于檢查布爾表達式驗證的充分性。例如:下面是連續(xù)賦值語句:

          assignareq=areq0||areq1;

          可能出現(xiàn)的信號值組合如下:

          areq0=0areq1=0

          areq0=0areq1=1

          areq0=1areq1=0

          areq0=1areq1=1

          表達式覆蓋率分析,該分析針對的是這些組合在整個驗證過程中是否出現(xiàn)過,并給出那些組合從未出的。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();