<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

Timer測試方案 Timer測試平臺實現 測試平臺debug注意事項

冬至子 ? 來源:拾加分享 ? 作者:10+助手 ? 2023-07-14 10:54 ? 次閱讀

、測試的基本概念

IC驗證,一般也稱“功能驗證”,我們今天要講的,不是這個,是它的簡化版:模塊測試,是設計工程師完成代碼設計后,需要自己做的這部分驗證工作。IC驗證,我們將會在后續文章中,專門講解。

為什么說設計工程師做的模塊測試是IC驗證的簡化版?

在回答這個問題之前,我們先了解幾個概念:

  • 白盒測試(White-box Test)
  • 黑盒測試(Black-box Test)
  • 灰盒測試(Grey-box Test)

這個幾個概念在軟件工程中都有介紹,IC設計驗證中一樣存在這幾個概念涉及的工作,所以直接借用。

白盒測試,一般是針對代碼結構進行的測試,所以也有稱白盒測試為“結構測試”。

黑盒測試,一般是行為測試,把設計當黑盒子,不用看代碼不用針對代碼結構進行測試。我們前面提到的IC驗證,通常指的“功能驗證”,就屬于“黑盒測試”。

灰盒測試,介于白盒測試和黑盒測試之間,兼顧兩者優點。

在實際工作中,設計工程師完成代碼設計之后,交給驗證工程師之前,除了檢查語法、可綜合性之外(當然還有其他檢查,設計剛入門,不用關心這么多),還需要進行基本的測試,這個基本的測試,原則上應該是白盒測試。

實際上,因為全靠設計工程師構造測試例來做覆蓋完成白盒測試的工作量太大,一般都用更實際的做法:簡單的功能測試。

做法:確認設計的代碼基本可以工作,基本的讀寫沒有問題后,就交給驗證工程師來做“IC驗證”,也就是功能驗證。當然,不同的團隊對設計交付代碼質量的要求不一樣,那么測試的內容和工作量也有差異。

二、Timer測試方案

Timer的測試方案涵蓋的內容包括:測試內容、測試例、測試平臺結構,在實際操作中,有些團隊略去了測試內容的梳理和測試平臺結構的設計,僅僅構造了一些這對基本功能的測試例,我們這部分保留這些內容,但是做了精簡。

1.測試內容

Timer模塊的白盒測試,簡化為基本的功能測試,如:

  • 對總線接口的讀寫檢查
  • 對模塊寄存器的復位值的檢查;
  • 對寄存器讀寫的檢查;
  • 對計數基本功能的檢查;
  • 對代碼行、if語句各分支的執行檢查等;

針對這些功能,構造相應的測試例進行測試。

2.測試例

根據規格書上梳理待測試的功能。實際操作時有的工程師會簡化,經測試基本功能,確認設計可以動起來。如下表格是測試例的片段。

圖片

3.測試平臺結構

完成待測試功能的梳理和測試例的構造,我們接著要做是,設計構造測試平臺(Testbench)。

圖片

DUT:待測試對象(Device Under Test),也就是我們前面用Verilog或VHDL寫的RTL設計代碼。

激勵:DUT和testbench之間只能通過頂層接口連接,所以,所有的測試數據都必須按照頂層接口的時序要求,輸入進DUT中。這里的測試數據也叫測試例或者測試向量。測試例,一般是采用直接測試例進行測試,這種測試方式針對性強,能夠快速將模塊驅動起來。

結果比較:等待DUT輸出結果(DUT會有標識,或通過主機輪詢,或DUT自己有標識接口),testbench必須按照頂層接口的時序要求,取出DUT的輸出結果,再與期望值比較,最后將比較結果打印出來,便于查看。

三、Timer測試平臺實現

實現語言: 可以用verilog語言,或者VHDL語言,或者SystemVerilog語言等。

仿真工具 :Modelsim、VCS、NC-Verilog/NC-VHDL

下面是平臺代碼實現的片段。

1. 頂層文件代碼

圖片

頂層包含:

  • 時鐘和復位信號的定義;
  • 時鐘周期的參數定義;
  • 驗證環境文件的導入;
  • 時鐘的產生;
  • 復位信號的產生;
  • 模塊的例化;
  • 在初始化中運行測試例任務;

2 .總線激勵

假定Timer的總線接口是Z總線,下面的代碼就是實現一個Z總線的寫操作,將wdata寫入zaddr這個地址里面。

圖片

3.測試例

測試例主要是將上面的總線驅動task調用起來對模塊進行驅動,讓模塊正常工作起來。同時設定一定的循環次數,每一次新的運行需要等待中斷到來之后進行新的寄存器配置。

圖片

4.結果比較

為了提高debug效率,將從DUT出來的結果和理想結果進行自動對比,并將對比結果打印出來。

圖片

結果比較一般流程是等待DUT的中斷到來,然后讀取Timer的寄存器的值與期望值做比較。

四、測試平臺Debug注意事項

  1. 在對整個testbench進行編譯時候,初期語法錯誤較多,這時候需要多聯系上下文來check,很多時候工具報的問題不在出錯誤的地方。
  2. Debug經常遇到的問題是測試例跑死,這種情況一般是等待的事件沒有等到,或者寄存器配置錯誤。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    30

    文章

    5094

    瀏覽量

    117962
  • IC設計
    +關注

    關注

    37

    文章

    1269

    瀏覽量

    103089
  • VHDL語言
    +關注

    關注

    1

    文章

    113

    瀏覽量

    17814
  • RTL
    RTL
    +關注

    關注

    1

    文章

    380

    瀏覽量

    59134
  • DUT
    DUT
    +關注

    關注

    0

    文章

    184

    瀏覽量

    12016
收藏 人收藏

    評論

    相關推薦

    求鋰電池充電方案,IC選擇及測試注意事項

    求鋰電池充電方案,IC選擇及測試注意事項,謝謝
    發表于 12-22 16:22

    高壓絕緣電阻測試的使用注意事項

    高壓絕緣電阻測試儀也被稱為兆歐表或者絕緣電阻測試儀等等,它被廣泛應用于電力的網站或用電的設備檢測,對人身安全和設備安全有著重要的意義,下面將會讓大家詳細地介紹高壓絕緣電阻測試儀的使用注意事項
    發表于 09-01 08:58

    基于白盒測試的自動化測試平臺實現

    主要介紹了 Parlay 應用服務器的 API 接口, 提出了一個簡單的基于白盒測試的自動化測試平臺實現方案, 并詳細介紹了該
    發表于 09-08 15:07 ?6次下載
    基于白盒<b class='flag-5'>測試</b>的自動化<b class='flag-5'>測試</b><b class='flag-5'>平臺</b><b class='flag-5'>實現</b>

    微水測試儀的簡單介紹和注意事項

    微水儀對稱為微水測試儀主要是用于對SF6氣體的濕度檢測,其儀器適合于電力、石化、冶金、環保、科研院所等領域,以下是對于儀器測試方法的簡單介紹和注意事項
    發表于 03-04 14:15 ?7782次閱讀

    Timer0和Timer1及Timer2定時器的C語言和匯編語言測試程序免費下載

    本文檔的主要內容詳細介紹的是Timer0和Timer1及Timer2定時器的C語言和匯編語言測試程序免費下載。
    發表于 06-10 08:00 ?0次下載
    <b class='flag-5'>Timer</b>0和<b class='flag-5'>Timer</b>1及<b class='flag-5'>Timer</b>2定時器的C語言和匯編語言<b class='flag-5'>測試</b>程序免費下載

    防止Stress測試損壞注意事項

    電子發燒友網站提供《防止Stress測試損壞注意事項.pdf》資料免費下載
    發表于 10-17 10:39 ?2次下載
    防止Stress<b class='flag-5'>測試</b>損壞<b class='flag-5'>注意事項</b>

    三防漆抗硫腐測試注意事項

    三防漆抗硫腐測試需要注意哪些事項呢?今天施奈仕將多年總結測試積累的經驗和大家進行分享,希望能夠幫助到大家。
    的頭像 發表于 05-21 09:18 ?448次閱讀
    三防漆抗硫腐<b class='flag-5'>測試注意事項</b>

    扭力測試儀的操作安全有哪些注意事項?

    磐石測控:深圳扭力測試儀的操作安全有哪些注意事項?磐石測控:深圳扭力測試儀的操作安全有哪些注意事項?相信不少人是有疑問的,今天深圳市磐石測控儀器有限公司就跟大家解答一下!在使用這款扭力
    的頭像 發表于 07-21 11:38 ?760次閱讀
    扭力<b class='flag-5'>測試</b>儀的操作安全有哪些<b class='flag-5'>注意事項</b>?

    磐石測控:深圳扭力測試儀有哪些使用注意事項?

    磐石測控:深圳扭力測試儀有哪些使用注意事項?
    的頭像 發表于 08-08 10:35 ?482次閱讀
    磐石測控:深圳扭力<b class='flag-5'>測試</b>儀有哪些使用<b class='flag-5'>注意事項</b>?

    磐石測控:深圳扭力測試儀有哪些使用注意事項?

    磐石測控:深圳扭力測試儀有哪些使用注意事項?
    的頭像 發表于 08-10 09:41 ?482次閱讀
    磐石測控:深圳扭力<b class='flag-5'>測試</b>儀有哪些使用<b class='flag-5'>注意事項</b>?

    EMC現場測試的一般步驟和注意事項有哪些?

    emc現場測試的一般步驟和注意事項有哪些?
    的頭像 發表于 06-26 09:22 ?1712次閱讀

    Y電容的測試方法和注意事項

    Y電容是一種常見的被動元件,用于濾波和穩壓電路中。在實際應用中,需要對Y電容進行測試以確保其正常工作。本文將介紹Y電容的測試方法和注意事項。
    發表于 09-12 16:53 ?1973次閱讀

    HK32MCU應用筆記(十六)| HK32F103xC/D/E-Timer的應用及注意事項

    HK32MCU應用筆記(十六)| HK32F103xC/D/E-Timer的應用及注意事項
    的頭像 發表于 09-18 10:58 ?502次閱讀

    繼電保護測試測試時必須注意事項有哪些?

    注意事項。其次,要檢查測試儀器的電源和電纜是否連接良好,確保儀器處于正常狀態。此外,還要確保測試環境的安全,避免在潮濕、高溫或存在危險因素的環境中進行測試。 二、操作過程中的
    的頭像 發表于 11-21 14:11 ?298次閱讀
    繼電保護<b class='flag-5'>測試</b>儀<b class='flag-5'>測試</b>時必須<b class='flag-5'>注意事項</b>有哪些?

    數據采集設備測試有哪些注意事項

    數據采集設備測試有哪些注意事項
    的頭像 發表于 12-05 10:05 ?252次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>