chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

何為cocotb

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

21世紀(jì),python成了一門(mén)吃香的語(yǔ)言。cocotb是一套基于python的用于構(gòu)建仿真及測(cè)試用例的lib庫(kù),它的框架為:

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

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

cocotb安裝

按照cocotb手冊(cè)給出的安裝流程,在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.
在安裝過(guò)程中,有遇到“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. 進(jìn)入/usr/include/python2.7看一下現(xiàn)在有沒(méi)有Python.h,版本不同目錄名不同,我這里是2.7版本。其實(shí)也可以看到很多.h文件,python需要庫(kù)或頭文件都在這個(gè)地方。
安裝后可以查看到:
$cocotb-config -v1.4.1.dev0
對(duì)于沒(méi)有VCS等收費(fèi)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例子的測(cè)試框架為:

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

測(cè)試框架和我們?cè)谄匠5臏y(cè)試框架行為基本相同,不同是cocotb為Driver、Monitor、Scoreboard等都提供了基礎(chǔ)類(lèi)庫(kù)供調(diào)用,對(duì)于搭建仿真平臺(tái)應(yīng)該有較好的幫助。而cocotb中提供的TestFactory,能夠方便的進(jìn)行測(cè)試用例的生成:
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會(huì)生成32個(gè)testcase用于測(cè)試,感覺(jué)還是蠻高效的。在仿真完成后,能夠自動(dòng)匯總測(cè)試結(jié)果:

寫(xiě)在最后

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

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

    關(guān)注

    1660

    文章

    22408

    瀏覽量

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

    關(guān)注

    69

    文章

    5332

    瀏覽量

    91569

原文標(biāo)題:cocotb初探

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Keil MDK生成LIB庫(kù)及使用LIB庫(kù)

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

    一文詳解SystemC仿真庫(kù)的編譯

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

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

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

    在verilog testbench中運(yùn)行測(cè)試用時(shí),運(yùn)行到make run_test出錯(cuò)怎么解決?

    按照胡老師書(shū)上的在verilog testbench中運(yùn)行測(cè)試用時(shí),在運(yùn)行到make run_test步驟時(shí)出錯(cuò),查了很多方案沒(méi)有解決。
    發(fā)表于 11-11 06:52

    Iverilog仿真e203_hbirdv2跑RISC-V指令測(cè)試用

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

    如何讓大模型生成你想要的測(cè)試用?

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

    芯片硬件測(cè)試用

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

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

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

    HarmonyOSAI編程單元測(cè)試用

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

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)23:UVM驗(yàn)證平臺(tái)

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

    AI生成的測(cè)試用真的靠譜嗎?

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

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)18:UVM驗(yàn)證平臺(tái)

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

    linux虛擬環(huán)境中調(diào)用Linux 版matlab編譯的python庫(kù)時(shí)出錯(cuò)

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

    【評(píng)測(cè)試用】合眾HZ-T536開(kāi)發(fā)板免費(fèi)試用體驗(yàn)

    【評(píng)測(cè)試用】合眾HZ-T536開(kāi)發(fā)板免費(fèi)試用體驗(yàn)
    的頭像 發(fā)表于 05-27 08:05 ?967次閱讀
    【評(píng)<b class='flag-5'>測(cè)試用</b>】合眾HZ-T536開(kāi)發(fā)板免費(fèi)<b class='flag-5'>試用</b>體驗(yàn)

    NVMe IP開(kāi)發(fā)速成: 三個(gè)月不是夢(mèng)

    環(huán)境,它基于UVM驗(yàn)證環(huán)境,對(duì)熟悉UVM的伙伴非常友好,便于后續(xù)特定測(cè)試用的編寫(xiě)與GS修改;同時(shí)提供測(cè)試用,便于理解;并且可做仿真極限壓
    的頭像 發(fā)表于 04-14 19:52 ?1258次閱讀
    NVMe IP開(kāi)發(fā)速成: 三個(gè)月不是夢(mèng)