在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

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

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

何為cocotb

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

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

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

存在即合理,為什么這么搞?因為Python寫起來簡單唄!在能夠正常實現(xiàn)對DUT的接口驅(qū)動的同時借助python豐富的lib庫能夠讓我們快速的構(gòu)建測試用例及參考模型。而借助軟件現(xiàn)成的測試框架能夠極大加速驗證流程。想想單純的一個圖像處理的仿真用純Systemverilog的方式進(jìn)行驗證在進(jìn)行測試數(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. 進(jìn)入/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)用,對于搭建仿真平臺應(yīng)該有較好的幫助。而cocotb中提供的TestFactory,能夠方便的進(jìn)行測試用例的生成:
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仿真器的集成(而我又沒打算自己集成進(jìn)去)。而在做FPGA設(shè)計時,若代碼里集成了Xilinx/Altera的IP,那么在SpinalHDL的框架里就沒辦法進(jìn)行仿真了,而cocotb則是一個不錯的選擇(若可以選,我仍選SpinalHDL,設(shè)計仿真一條龍,當(dāng)然現(xiàn)在也可以,對于Mem、FIFO等常用IP SpinalHDL還是有提供的,或者我們自己按需定制實現(xiàn)IP也可以的,SpinalHDL寫IP簡直不要太爽)。

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

    關(guān)注

    1643

    文章

    21983

    瀏覽量

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

    關(guān)注

    69

    文章

    5124

    瀏覽量

    88990

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

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

收藏 人收藏

    評論

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

    是德科技攜手Alea成功驗證3GPP EUTRA任務(wù)關(guān)鍵型測試用

    是德科技與 Alea S.r.l 近日在全球認(rèn)證論壇(GCF)一致性協(xié)議組(CAG)會議上,成功率先完成對基于 3GPP 演進(jìn)通用陸地?zé)o線接入(EUTRA)模型的關(guān)鍵任務(wù)一鍵通(MCPTT)測試用的驗證。該驗證采用是德科技 S8704A 協(xié)議一致性
    的頭像 發(fā)表于 02-26 16:18 ?633次閱讀

    CFD仿真測試協(xié)同創(chuàng)新,構(gòu)建仿真 + 實測”閉環(huán)

    積鼎科技專注于多相流領(lǐng)域,憑借自主研發(fā)的多相流仿真軟件以及高精度測試設(shè)備,成功構(gòu)建了“仿真 + 實測” 的閉環(huán)解決方案,助力企業(yè)在從設(shè)計優(yōu)化到生產(chǎn)驗證的整個過程中實現(xiàn)突破,為行業(yè)提供國
    的頭像 發(fā)表于 02-20 11:04 ?537次閱讀
    CFD<b class='flag-5'>仿真</b>與<b class='flag-5'>測試</b>協(xié)同創(chuàng)新,<b class='flag-5'>構(gòu)建</b>“<b class='flag-5'>仿真</b> + 實測”閉環(huán)

    用于MySQL和MariaDB的Python連接器:可靠的MySQL數(shù)據(jù)連接器和數(shù)據(jù)

    用于 MySQL 和 MariaDB 的 Python 連接器 Python Connector for MySQL 是一種可靠的連接解決方案,用于
    的頭像 發(fā)表于 01-17 12:18 ?449次閱讀
    適<b class='flag-5'>用于</b>MySQL和MariaDB的<b class='flag-5'>Python</b>連接器:可靠的MySQL數(shù)據(jù)連接器和數(shù)據(jù)<b class='flag-5'>庫</b>

    用于Oracle的Python連接器:可訪問托管以及非托管的數(shù)據(jù)

    用于 Oracle 的 Python 連接器 適用于 Oracle 的 Python 連接器是一種可靠的連接解決方案,用于
    的頭像 發(fā)表于 01-14 10:30 ?417次閱讀

    通用自動化測試軟件 - TAE

    INTEWORK-TAE(Test Automation Executor) 是一款通用的測試用自動化執(zhí)行框架,用于汽車電子自動化測試,可支持仿真
    的頭像 發(fā)表于 01-02 13:42 ?636次閱讀
    通用自動化<b class='flag-5'>測試</b>軟件 - TAE

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

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

    如何使用Python構(gòu)建LSTM神經(jīng)網(wǎng)絡(luò)模型

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

    端到端測試用怎么寫

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

    使用Python進(jìn)行Ping測試

    在網(wǎng)絡(luò)工程中,Ping測試是一種常用的網(wǎng)絡(luò)診斷工具,用于檢查網(wǎng)絡(luò)連接的可達(dá)性和響應(yīng)時間。Ping測試通過向目標(biāo)主機(jī)發(fā)送ICMP(Internet Control Message Protocol
    的頭像 發(fā)表于 08-12 17:56 ?935次閱讀
    使用<b class='flag-5'>Python</b>進(jìn)行Ping<b class='flag-5'>測試</b>

    是德科技獲得5G NR FR1 1024-QAM 解調(diào)測試用的認(rèn)證

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

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

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

    是德科技獲得窄帶非地面網(wǎng)絡(luò)標(biāo)準(zhǔn)的新測試用驗證

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

    python寫驗證環(huán)境cocotb

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

    鴻蒙語言基礎(chǔ)類:ohos.application.testRunner TestRunner 測試

    TestRunner模塊提供了框架測試的能力。包括準(zhǔn)備單元測試環(huán)境、運行測試用
    的頭像 發(fā)表于 07-12 09:32 ?553次閱讀

    深度學(xué)習(xí)常用的Python

    深度學(xué)習(xí)作為人工智能的一個重要分支,通過模擬人類大腦中的神經(jīng)網(wǎng)絡(luò)來解決復(fù)雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的支持,成為了深度學(xué)習(xí)研究和應(yīng)用的首選工具。本文將深入探討
    的頭像 發(fā)表于 07-03 16:04 ?1093次閱讀
    主站蜘蛛池模板: 黄色视屏在线免费播放 | 日韩卡1卡2卡三卡四卡二卡免 | 毛片色毛片18毛片美女 | 久久精品久久久久 | 欧美一级欧美三级 | 国产美女一区 | 天天草比 | 美女视频久久 | 日韩一区二区视频在线观看 | 国产人成午夜免费噼啪视频 | 拍真实国产伦偷精品 | 国产三级在线观看 | 四虎在线永久免费视频网站 | 91日本在线观看亚洲精品 | 激情五月网站 | 亚洲国内精品自在线影视 | 在线你懂的 | 久久性生活 | 久久婷婷婷| 狠狠色综合久久久久尤物 | 久久网免费视频 | 免费一级特黄特色大片在线 | 一级毛片免费全部播放 | 欧美成人在线影院 | 伊人网在线视频 | 美女视频大全美女视频黄 | 国产亚洲片| 上课被同桌强行摸下面小黄文 | 亚洲国产精品综合久久网络 | 亚洲成年网站 | 午夜免费网址 | 久久草在线观看 | 国产精品激情综合久久 | 可以直接看的黄址 | 天天骑夜夜操 | 日本口工福利漫画无遮挡 | 天使色吧 | 黄色香蕉网 | 四虎在线视频 | 天天射天天射天天干 | 奇米影视亚洲四色8888 |