日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內(nèi)不再提示

基于python的用于構(gòu)建仿真及測試用例的lib庫cocotb

OpenFPGA ? 來源:似猿非猿的FPGA ? 作者:似猿非猿的FPGA ? 2021-10-13 17:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

何為cocotb

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

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

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

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

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看一下現(xiàn)在有沒有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等都提供了基礎(chǔ)類庫供調(diào)用,對于搭建仿真平臺應該有較好的幫助。而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()
這里根據(jù)輸入的參數(shù),factory會生成32個testcase用于測試,感覺還是蠻高效的。在仿真完成后,能夠自動匯總測試結(jié)果:

寫在最后

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

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

    關(guān)注

    1664

    文章

    22509

    瀏覽量

    639519
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5364

    瀏覽量

    91949

原文標題:cocotb初探

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    使用PYTHON進行的跨平臺仿真

    應用案例,其中我們在一維和二維光柵上執(zhí)行參數(shù)掃描。 使用Python運行VirtualLab Fusion光學仿真 我們將演示如何使用Python在VirtualLab Fusion中運行光學
    發(fā)表于 04-02 08:21

    [VirtualLab] 使用Python運行VirtualLab Fusion光學仿真

    Fusion的簡單方法。在本示例中,我們將演示如何使用Python腳本運行光學仿真,以向用戶簡要概述這種跨平臺的仿真能力。 用概覽 文件路徑 用戶可以在樣本文件的文件夾中找到所有
    發(fā)表于 03-31 09:39

    Keil MDK生成LIB及使用LIB

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

    一文詳解SystemC仿真的編譯

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

    新品首發(fā)·東方中科智能座艙測試系統(tǒng)

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

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

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

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

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

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

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

    芯片硬件測試用

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

    上??匕玻夯谀P偷?b class='flag-5'>測試用生成

    在當今復雜多變的軟件開發(fā)環(huán)境中,軟件系統(tǒng)的規(guī)模和復雜度不斷攀升,傳統(tǒng)測試方法面臨著諸多挑戰(zhàn)。如何高效、準確地生成測試用,以確保軟件系統(tǒng)的質(zhì)量和可靠性,成為軟件測試領(lǐng)域的關(guān)鍵問題之一。
    的頭像 發(fā)表于 08-28 14:30 ?1098次閱讀
    上??匕玻夯谀P偷?b class='flag-5'>測試用</b><b class='flag-5'>例</b>生成

    HarmonyOSAI編程單元測試用

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

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

    子系統(tǒng)模型組成。UVM驗證包用于構(gòu)建測試用、提供激勵、監(jiān)測接口、對比分析統(tǒng)計測試結(jié)果;DUT 為待
    發(fā)表于 08-26 09:49

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

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

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

    子系統(tǒng)模型組成。UVM驗證包用于構(gòu)建測試用、提供激勵、監(jiān)測接口、對比分析統(tǒng)計測試結(jié)果;DUT 為待
    發(fā)表于 07-31 16:39

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

    【評測試用】合眾HZ-T536開發(fā)板免費試用體驗
    的頭像 發(fā)表于 05-27 08:05 ?1254次閱讀
    【評<b class='flag-5'>測試用</b>】合眾HZ-T536開發(fā)板免費<b class='flag-5'>試用</b>體驗
    临朐县| 舒城县| 潢川县| 盘山县| 察隅县| 绵竹市| 西宁市| 景洪市| 澎湖县| 新龙县| 邓州市| 永济市| 东城区| 民乐县| 当阳市| 花垣县| 张北县| 长寿区| 黄平县| 定兴县| 抚宁县| 平和县| 郎溪县| 寿宁县| 佛坪县| 泰顺县| 东兰县| 迭部县| 鹤山市| 舒城县| 合阳县| 大冶市| 明星| 阳朔县| 崇左市| 临江市| 阜平县| 汝阳县| 上栗县| 垦利县| 无极县|