精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

基于python的用于構建仿真及測試用例的lib庫cocotb

OpenFPGA ? 來源:似猿非猿的FPGA ? 作者:似猿非猿的FPGA ? 2021-10-13 17:01 ? 次閱讀

對于從事ASIC行業及FPGA行業的小伙伴來說,仿真是一件必不可少的事情。或許有人是驗證大拿,UVM高手,但相較于軟件豐富的驗證框架,對于各種各樣的場景單純的SV構建測試用例是否便捷值得推敲。

何為cocotb

cocotb is a coroutine based cosimulation library for writing VHDL and Verilog testbenches in Python.

21世紀,python成了一門吃香的語言。cocotb是一套基于python的用于構建仿真及測試用例的lib庫,它的框架為:

可以看到,在cocotb的框架里,我們的待測試邏輯運行在仿真器中(VCS、Verilator等),而我們的測試框架及測試用例均以python的形式構建,雙方通過仿真器提供的各種標準接口進行通信。及設計代碼為Verilog/VHDL/Systemverilog,而測試代碼為Python。

存在即合理,為什么這么搞?因為Python寫起來簡單唄!在能夠正常實現對DUT的接口驅動的同時借助python豐富的lib庫能夠讓我們快速的構建測試用例及參考模型。而借助軟件現成的測試框架能夠極大加速驗證流程。想想單純的一個圖像處理的仿真用純Systemverilog的方式進行驗證在進行測試數據生成及最后結果對比要多少腳本……

cocotb安裝

按照cocotb手冊給出的安裝流程,在CentOS里安裝步驟為:
#Preparesudo yum install make gcc gcc-c++ libstdc++-devel python3 python3-devel python3-pip#install cocotbpip install cocotb##pip may belong to a different Python installation# to what you expect. Use pip -V to check. If this #prints “(python 2.7)”, use pip3 or python3 -m pip #inplaceofpipinthecommandshown.
在安裝過程中,有遇到“Python.h: No such file or directory”,解決辦法為:
1.可以先查看一下含python-devel的包yumsearchpython|greppython-devel2.64位安裝python-devel.x86_64,32位安裝python-devel.i686,我這里安裝:sudoyuminstallpython-devel.x86_643. 進入/usr/include/python2.7看一下現在有沒有Python.h,版本不同目錄名不同,我這里是2.7版本。其實也可以看到很多.h文件,python需要庫或頭文件都在這個地方。
安裝后可以查看到:
$cocotb-config -v1.4.1.dev0
對于沒有VCS等收費EDA license的小伙伴建議安裝Verilator:
sudo apt-get install git make autoconf g++ flex bison -y  # First time prerequisitesgit clone http://git.veripool.org/git/verilator   # Only first timeunsetenv VERILATOR_ROOT  # For csh; ignore error if on bashunset VERILATOR_ROOT  # For bashcdverilatorautoconf        # Create ./configure script./configuremake -j$(nproc)sudomakeinstall

example

在cocotb中給出的example中,endian_swapper例子的測試框架為:

e07e8c38-2a05-11ec-82a8-dac502259ad0.png

測試框架和我們在平常的測試框架行為基本相同,不同是cocotb為Driver、Monitor、Scoreboard等都提供了基礎類庫供調用,對于搭建仿真平臺應該有較好的幫助。而cocotb中提供的TestFactory,能夠方便的進行測試用例的生成:
factory = TestFactory(run_test)factory.add_option("data_in",                 [random_packet_sizes])factory.add_option("config_coroutine",        [None, randomly_switch_config])factory.add_option("idle_inserter",           [None, wave, intermittent_single_cycles, random_50_percent])factory.add_option("backpressure_inserter",   [None, wave, intermittent_single_cycles, random_50_percent])factory.generate_tests()
這里根據輸入的參數,factory會生成32個testcase用于測試,感覺還是蠻高效的。在仿真完成后,能夠自動匯總測試結果:

寫在最后

之所以探索下cocotb,主要原因是雖然SpinalHDL測試框架和cocotb差不多,但目前SpinalHDL尚未集成對VCS仿真器的集成(而我又沒打算自己集成進去)。而在做FPGA設計時,若代碼里集成了Xilinx/Altera的IP,那么在SpinalHDL的框架里就沒辦法進行仿真了,而cocotb則是一個不錯的選擇(若可以選,我仍選SpinalHDL,設計仿真一條龍,當然現在也可以,對于Mem、FIFO等常用IP SpinalHDL還是有提供的,或者我們自己按需定制實現IP也可以的,SpinalHDL寫IP簡直不要太爽)。

責任編輯:haq
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1626

    文章

    21671

    瀏覽量

    601897
  • 軟件
    +關注

    關注

    69

    文章

    4781

    瀏覽量

    87164

原文標題:cocotb初探

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    是德科技助力三星電子驗證FiRa 2.0安全測距測試用

    是德科技(Keysight Technologies,Inc.)成功助力三星電子,在其Exynos Connect U100芯片組上驗證了FiRa 2.0安全測試用。此次驗證得益于是德科技提供的超寬帶 (UWB)測試解決方案,
    的頭像 發表于 11-18 10:08 ?124次閱讀

    如何使用Python構建LSTM神經網絡模型

    構建一個LSTM(長短期記憶)神經網絡模型是一個涉及多個步驟的過程。以下是使用Python和Keras構建LSTM模型的指南。 1. 安裝必要的
    的頭像 發表于 11-13 10:10 ?166次閱讀

    端到端測試用怎么寫

    編寫端到端測試用是確保軟件系統從頭到尾能夠正常工作的關鍵步驟。以下是一個詳細的指南,介紹如何編寫端到端測試用: 一、理解端到端測試 端到
    的頭像 發表于 09-20 10:29 ?343次閱讀

    是德科技獲得5G NR FR1 1024-QAM 解調測試用的認證

    是德科技(Keysight Technologies,Inc.)日前宣布獲得了基于3GPP TS 38.521-4測試規范的 5G NR FR1 1024-QAM 解調測試用的認證。這些測試
    的頭像 發表于 07-31 16:46 ?896次閱讀

    鑒源實驗室·ISO 26262中測試用的得出方法-等價類的生成和分析

    標準規范中給出了單元、集成、系統測試各階段的建議測試使用方法,設計生成測試用的建議方法包括需求分析、等價類的生成和分析、邊界值分析、基于已有經驗和知識的錯誤推測等等,從本篇開始我們
    的頭像 發表于 07-30 15:37 ?438次閱讀
    鑒源實驗室·ISO 26262中<b class='flag-5'>測試用</b><b class='flag-5'>例</b>的得出方法-等價類的生成和分析

    是德科技獲得窄帶非地面網絡標準的新測試用驗證

    是德科技(Keysight Technologies,Inc.)日前宣布,該公司針對3GPP Rel-17標準中關于NB-IoT NTN技術的新一致性測試用獲得驗證通過。這些測試用
    的頭像 發表于 07-26 14:13 ?611次閱讀

    python寫驗證環境cocotb

    本文介紹了cocotb的安裝、python tb文件的寫法、用xrun仿真cocotb的腳本等,我們來看看體驗如何。
    的頭像 發表于 07-24 09:38 ?472次閱讀
    用<b class='flag-5'>python</b>寫驗證環境<b class='flag-5'>cocotb</b>

    鴻蒙語言基礎類:ohos.application.testRunner TestRunner 測試

    TestRunner模塊提供了框架測試的能力。包括準備單元測試環境、運行測試用
    的頭像 發表于 07-12 09:32 ?273次閱讀

    LitePoint與三星電子合作支持FiRa 2.0物理層安全測距測試用

    先進無線測試解決方案提供商LitePoint與三星電子宣布緊密合作,支持FiRa 2.0物理層(PHY)一致性測試規范內定義的新安全測試用
    的頭像 發表于 05-16 11:26 ?527次閱讀

    RA2在e2 studio環境生成LIB操作

    RA2在e2 studio環境生成LIB操作
    的頭像 發表于 05-15 08:06 ?429次閱讀
    RA2在e2 studio環境生成<b class='flag-5'>LIB</b><b class='flag-5'>庫</b>操作

    DEKRA被CSA指定為Zigbee統一測試工具開發和優化新功能和測試用

    DEKRA德凱被CSA聯盟(Connectivity Standards Alliance,CSA)指定負責為Zigbee統一測試工具(Zigbee Unified Test Harness,ZUTH)開發和優化新功能和測試用
    的頭像 發表于 04-09 14:10 ?483次閱讀

    PTCRB的測試用類認證等級分類介紹

    PTCRB的測試用類認證等級CategoryA/B/EA類項:測試用在商用系統上經過完全驗證;必測項且需要結果為PASSB類項:測試用
    的頭像 發表于 03-14 16:46 ?364次閱讀
    PTCRB的<b class='flag-5'>測試用</b>類認證等級分類介紹

    是德科技首批3GPP Release 16 16/32測試用獲得批準

    本次驗證涵蓋單個和多個預編碼矩陣指示符測試用,主要面向在頻分雙工和時分雙工頻段上運行的 16/32 通道發射機
    的頭像 發表于 02-21 14:14 ?397次閱讀

    python第三方有哪些

    和物理模擬等領域中發揮著重要的作用。 Pandas Pandas 是一個用于數據處理和分析的 Python 。它
    的頭像 發表于 11-29 14:31 ?2096次閱讀

    磁盤eCryptfs加密測試用

    apt安裝用戶態工具ecryptfs-utils即可。 4.1、測試用 下圖是一個腳本基礎測試用。先創建test目錄和文件hello,
    的頭像 發表于 11-29 11:27 ?1124次閱讀
    磁盤eCryptfs加密<b class='flag-5'>測試用</b><b class='flag-5'>例</b>