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

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

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

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

cocotb的安裝、python tb文件的寫法

倩倩 ? 來源:處芯積律 ? 作者:處芯積律 ? 2022-09-21 11:33 ? 次閱讀

本文介紹了cocotb的安裝、python tb文件的寫法、用xrun仿真cocotb的腳本等,我們來看看體驗如何。

一、準備

  • centos7

  • python3.6+

  • yum install python3-devel

  • pip3 install --upgradecocotb

二、寫RTL


// top.svmodule top  (   input wire       clk,   input wire       rst_n,   input wire [7:0] din,   output reg [7:0] dout   );
  initial begin    $fsdbDumpfile("top.fsdb");    $fsdbDumpvars(0, top);  end  always@(posedge clk, negedge rst_n)    if(!rst_n)      dout <= 'd0;    else      dout <= din;  endmodule // top

三、寫tb


# tb.py
import cocotbfromcocotb.triggersimportTimer, FallingEdge
async def gen_clk(dut):    for cycle in range(100):        dut.clk.value = 0        await Timer(10, units="ns")        dut.clk.value = 1awaitTimer(10,units="ns")
async def gen_rst(dut):    dut.rst_n.value = 0    await Timer(22, units="ns")    dut.rst_n.value = 1print("ResetDone")
@cocotb.test()async def tb(dut):
    await cocotb.start(gen_clk(dut))    await cocotb.start(gen_rst(dut))
    test_data_list = range(0,50, 5)    for test_data in test_data_list:        await FallingEdge(dut.clk)dut.din.value=test_data        await Timer(100, units="ns")

6~11行:定義了一個時鐘,50MHz,100個周期。

13~17行:定義了一個復位信號,低電平有效。復位拉高打印“Reset Done”,方便看log。

19行:用@cocotb.test()裝飾器指定了tb的頂層主函數(shù)。

22行:異步啟動gen_clk

23行:異步啟動gen_rst

25~28行:產(chǎn)生了一些測試數(shù)據(jù),在時鐘下降沿后驅動dut的din。

30行:等待100ns結束仿真

四、寫仿真腳本Makefile


SIM ?= xceliumTOPLEVEL_LANG ?= verilog
VERILOG_SOURCES += ./top.svTOPLEVEL = top
MODULE = tb
include $(shell cocotb-config --makefiles)/Makefile.sim

設置默認仿真器cadence xcellium,RTL語言選verilog,指定RTL頂層模塊名字(就是dut的名字),testbench的名字為tb,最后include一個cocotb共用的makefile。

五、仿真和看波形

把top.sv、tb.py、Makefile放同一個目錄下,敲linux命令:make。不出意外的話,仿真可以正確編譯和仿真,如下圖:

819eeb2e-395c-11ed-9e49-dac502259ad0.png

由于我們在RTL頂層加入了dump fsdb波形的代碼,所以在log里可以看到有波形產(chǎn)生。280ns仿真結束,并顯示“tb passed”,并打印出匯總信息。可見log還是很友好的。

用verdi打開fsdb,與預期一致:

826ac91a-395c-11ed-9e49-dac502259ad0.png

審核編輯 :李倩


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

    關注

    14

    文章

    1019

    瀏覽量

    83895
  • 代碼
    +關注

    關注

    30

    文章

    4823

    瀏覽量

    68939
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    84975

原文標題:厭倦了sv/uvm?來看看用python寫驗證環(huán)境

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

收藏 人收藏

    評論

    相關推薦

    使用Python實現(xiàn)xgboost教程

    使用Python實現(xiàn)XGBoost模型通常涉及以下幾個步驟:數(shù)據(jù)準備、模型訓練、模型評估和模型預測。以下是一個詳細的教程,指導你如何在Python中使用XGBoost。 1. 安裝XGBoost
    的頭像 發(fā)表于 01-19 11:21 ?371次閱讀

    電腦是已經(jīng)安裝python2.7,為什么打開GUI的script window時,一直提示未找到python2.7?

    電腦是已經(jīng)安裝python2.7,為什么打開GUI的script window時,一直提示未找到python2.7?
    發(fā)表于 11-14 07:50

    使用Python搭建簡易本地http服務器,升級WIPI模組

    01 下載python https://www.python.org/downloads/ 02 安裝python 安裝時候選擇把path加
    的頭像 發(fā)表于 09-29 15:38 ?721次閱讀
    使用<b class='flag-5'>Python</b>搭建簡易本地http服務器,升級WIPI模組

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

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

    如何實現(xiàn)Python復制文件操作

    Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會看到一些用 Python 實現(xiàn)文件復制的特殊
    的頭像 發(fā)表于 07-18 14:53 ?464次閱讀

    用pycharm進行python爬蟲的步驟

    以下是使用PyCharm進行Python爬蟲的步驟: 安裝PyCharm和Python 首先,您需要安裝PyCharm和Python。PyC
    的頭像 發(fā)表于 07-11 10:11 ?938次閱讀

    安裝依賴的Python軟件包時報錯如何解決?

    安裝依賴的 Python 軟件包,出現(xiàn)了如下錯誤,請問如何解決,謝謝! Command \"E:/msys32/mingw32/bin/python2.7.exe E:/msys32
    發(fā)表于 06-26 07:32

    安裝cryptography文件時,其依賴程序cffi安裝失敗,為什么?

    依照最新esp32_idf下requirements.txt文件安裝指出的依賴文件。 其中在安裝cryptography文件時,其依賴程序c
    發(fā)表于 06-26 06:38

    用離線安裝安裝的idf,其創(chuàng)建的Python虛擬環(huán)境無激活腳本是怎么回事?

    如題,用離線安裝安裝的idf,其創(chuàng)建的Python虛擬環(huán)境無激活腳本,具體如下圖所示: 反而用vscode插件安裝的idf有,如下圖:vscode插件
    發(fā)表于 06-11 06:49

    Efinity軟件安裝教程與Efinity入門使用教程 大牛手把手教程

    1.軟件安裝教程 step1: 安裝Python,注意勾選“Add Python 3.7 to PATH” (2022版本及以后直接跳過該步驟) 注意:從2021.1就不需要單獨
    的頭像 發(fā)表于 05-20 17:10 ?3290次閱讀
    Efinity軟件<b class='flag-5'>安裝</b>教程與Efinity入門使用教程 大牛手把手教程

    請問handle的寫法

    遇到一行代碼 YDLidar *laser = lidarCreate(); //Create a handle to this Lidar. 請問這行代碼是什么意思,句柄的寫法怎么是這樣的呀
    發(fā)表于 05-18 10:42

    Efinity軟件安裝-v3

    感謝朋友提供的視頻。 1.軟件安裝 step1: 安裝Python,注意勾選“Add Python 3.7 to PATH” (2022版本及以后直接跳過該步驟) 注意:從2021.1
    的頭像 發(fā)表于 03-29 08:38 ?424次閱讀

    基于Python的地圖繪制教程

    本文將介紹通過Python繪制地形圖的方法,所需第三方Python相關模塊包括 rasterio、geopandas、cartopy 等,可通過 pip 等方式安裝
    的頭像 發(fā)表于 02-26 09:53 ?1292次閱讀
    基于<b class='flag-5'>Python</b>的地圖繪制教程

    如何使用linux下gdb來調試python程序

    GDB: ``` $ sudo apt install gdb ``` 安裝完成后,需要安裝Python調試符號。這些符號文件包含了Python
    的頭像 發(fā)表于 01-31 10:41 ?2721次閱讀

    python中open函數(shù)的用法詳解

    python中open函數(shù)的用法詳解 Python中的open()函數(shù)用于打開文件。它接受文件名和模式作為參數(shù),并返回一個文件對象。
    的頭像 發(fā)表于 01-30 15:31 ?2219次閱讀
    主站蜘蛛池模板: 手机看片福利盒子久久 | 特级aaa片毛片免费观看 | 日本不卡在线一区二区三区视频 | 手机看福利片 | 色综合天天综合网亚洲影院 | 国产小视频在线播放 | 免费观看老外特级毛片 | 免费精品美女久久久久久久久久 | 美女黄页在线观看 | 亚洲综合五月天 | 久久久噜噜噜久久久午夜 | 色妇网 | 午夜亚洲国产精品福利 | 九七婷婷狠狠成人免费视频 | 97色在线视频 | 人人精品| 韩国韩宝贝2020vip福利视频 | 成人精品一级毛片 | 亚洲精品福利你懂 | 久久精品人人爽人人爽 | 国产91久久最新观看地址 | 午夜视频在线观看一区 | 正在播放国产巨作 | 4455ee日本高清免费观看 | 色综合天天五月色 | 国产日本特黄特色大片免费视频 | 一级做a爱片特黄在线观看免费看 | 一级做a爰片久久毛片鸭王 一级做a爰片久久毛片一 | 欧洲亚洲国产精华液 | 免费观看一区二区 | 加勒比视频一区 | 欧美视频精品一区二区三区 | 久久影视免费观看网址 | 中国国产aa一级毛片 | 亚洲成人av| 中文在线三级中文字幕 | 国产va在线 | 国产美女精品久久久久中文 | 国内激情自拍 | 永井玛丽亚中文在线观看视频 | 国产精品单位女同事在线 |