国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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
    +關注

    關注

    1660

    文章

    22408

    瀏覽量

    636233
  • 軟件
    +關注

    關注

    69

    文章

    5332

    瀏覽量

    91575

原文標題:cocotb初探

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Keil MDK生成LIB及使用LIB

    問題引出:為什么要做成lib? 1、不想將自己寫的源代碼公開,但是同時文件又需要讓別人能夠正常調用,那封裝成lib的格式就是一個方法。 2、編譯某些工程文件時非常耗時,像ST官方的
    發表于 01-22 07:17

    一文詳解SystemC仿真的編譯

    AMD Vivado 設計套件以文件和的形式提供仿真模型。仿真包含器件和 IP 的行為和時序模型。編譯后的可供多個設計項目使用。用戶必
    的頭像 發表于 12-12 15:08 ?4820次閱讀
    一文詳解SystemC<b class='flag-5'>仿真</b><b class='flag-5'>庫</b>的編譯

    新品首發·東方中科智能座艙測試系統

    域協同測試的全流程閉環自動化測試。該系統搭載自研的HMI自動化測試軟件,提供圖形化編輯界面,用戶無需編程即可快速構建測試序列,輕松實現
    的頭像 發表于 11-28 10:33 ?543次閱讀
    新品首發·東方中科智能座艙<b class='flag-5'>測試</b>系統

    在verilog testbench中運行測試用時,運行到make run_test出錯怎么解決?

    按照胡老師書上的在verilog testbench中運行測試用時,在運行到make run_test步驟時出錯,查了很多方案沒有解決。
    發表于 11-11 06:52

    Iverilog仿真e203_hbirdv2跑RISC-V指令測試用

    環境:Ubuntu20.04、Iverilog12.0、gtkwave3.3.103 內容:Iverilog仿真e203_hbirdv2跑RISC-V指令測試用 要點: 下載安裝
    發表于 10-27 08:24

    如何讓大模型生成你想要的測試用

    應用大模型生成測試用,常見的知識測試大模型,微調,RAG等技術門檻都不低,甚至很難,因此對于應用者而言,最快的方式就是應用好提示詞,調教屬于個人風格的
    的頭像 發表于 09-26 10:01 ?944次閱讀
    如何讓大模型生成你想要的<b class='flag-5'>測試用</b><b class='flag-5'>例</b>?

    芯片硬件測試用

    是項目開始的關鍵,利用白盒和黑盒覆蓋,保證產品質量。根據芯片功能,目標市場,進行測試立項:依據BRD/MRD/PRD;計劃:測試需求分析、人力資源時間線;測試用
    的頭像 發表于 09-05 10:04 ?956次閱讀
    芯片硬件<b class='flag-5'>測試用</b><b class='flag-5'>例</b>

    上海控安:基于模型的測試用生成

    在當今復雜多變的軟件開發環境中,軟件系統的規模和復雜度不斷攀升,傳統測試方法面臨著諸多挑戰。如何高效、準確地生成測試用,以確保軟件系統的質量和可靠性,成為軟件測試領域的關鍵問題之一。
    的頭像 發表于 08-28 14:30 ?841次閱讀
    上海控安:基于模型的<b class='flag-5'>測試用</b><b class='flag-5'>例</b>生成

    HarmonyOSAI編程單元測試用

    根據選中的ArkTS方法名稱,CodeGenie支持自動生成對應單元測試用,提升測試覆蓋率。 在ArkTS文檔中,光標放置于方法名稱上或框選完整的待測試方法代碼塊,右鍵選擇CodeG
    發表于 08-27 14:33

    NVMe高速傳輸之擺脫XDMA設計23:UVM驗證平臺

    子系統模型組成。UVM驗證包用于構建測試用、提供激勵、監測接口、對比分析統計測試結果;DUT 為待
    發表于 08-26 09:49

    AI生成的測試用真的靠譜嗎?

    軟件測試正經歷一場深刻的技術革命。AI,尤其是以GPT、通義千問、文心一言、Claude等為代表的大語言模型(LLM),開始廣泛介入測試流程:從需求分析、測試用設計,到腳本生成與
    的頭像 發表于 08-01 10:02 ?1743次閱讀
    AI生成的<b class='flag-5'>測試用</b><b class='flag-5'>例</b>真的靠譜嗎?

    NVMe高速傳輸之擺脫XDMA設計18:UVM驗證平臺

    子系統模型組成。UVM驗證包用于構建測試用、提供激勵、監測接口、對比分析統計測試結果;DUT 為待
    發表于 07-31 16:39

    linux虛擬環境中調用Linux 版matlab編譯的python時出錯

    各位大神,能否幫忙解決以下問題,不勝感激。 問題描述:使用linux版的matlab2018b使用mcc -v -W python:CAO_python -T link:lib ... -d
    發表于 07-18 10:40

    【評測試用】合眾HZ-T536開發板免費試用體驗

    【評測試用】合眾HZ-T536開發板免費試用體驗
    的頭像 發表于 05-27 08:05 ?968次閱讀
    【評<b class='flag-5'>測試用</b>】合眾HZ-T536開發板免費<b class='flag-5'>試用</b>體驗

    NVMe IP開發速成: 三個月不是夢

    環境,它基于UVM驗證環境,對熟悉UVM的伙伴非常友好,便于后續特定測試用的編寫與GS修改;同時提供測試用,便于理解;并且可做仿真極限壓
    的頭像 發表于 04-14 19:52 ?1258次閱讀
    NVMe IP開發速成: 三個月不是夢