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

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

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

3天內不再提示

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的頂層主函數。

22行:異步啟動gen_clk

23行:異步啟動gen_rst

25~28行:產生了一些測試數據,在時鐘下降沿后驅動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里可以看到有波形產生。280ns仿真結束,并顯示“tb passed”,并打印出匯總信息。可見log還是很友好的。

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

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

審核編輯 :李倩


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

    關注

    14

    文章

    1051

    瀏覽量

    87262
  • 代碼
    +關注

    關注

    30

    文章

    4967

    瀏覽量

    73960
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90025

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    安裝 Python VisionFive_GPIO失敗是哪里出了問題?

    wget bs4 python3 安裝VisionFive_gpio.py python3:無法打開文件 \'home/user/Install VisionFive_gpio.py
    發表于 02-11 06:13

    德州儀器TB5R1/TB5R2:四通道差分PECL接收器的技術剖析

    5R1 和 TB5R2 四通道差分 PECL 接收器,這兩款產品憑借其出色的性能和兼容性,在數字數據和時鐘傳輸領域表現卓越。 文件下載: tb5r2.pdf 產品概述 TB5R1 和
    的頭像 發表于 12-30 09:35 ?250次閱讀

    【EASY EAI Nano-TB(RV1126B)開發板試用】+桌面系統安裝及測試

    EASY-EAI-NANO-TB固件是不帶桌面系統的,對于使用桌面系統的用戶需自行安裝。完成一定要使用系統具備下載程序的能力,前面以介紹了建立網絡通信的方法,以此為基礎即可進行桌面系統的安裝。 1
    發表于 12-26 23:53

    【EASY EAI Nano-TB(RV1126B)開發板試用】介紹、系統安裝

    【EASY EAI Nano-TB(RV1126B)開發板試用】介紹、系統安裝 本文介紹了靈眸科技 EASY EAI Nano-TB(RV1126B) 開發板的相關信息,包括包裝、外觀、產品特性等
    發表于 12-23 18:05

    沒有專利的opencv-python 版本

    (64位 Windows)場景優先推薦: 一、首選:Python 3.13 兼容的「無專利風險核心版」(無需 contrib) 直接安裝 opencv-python 官方核心版(不含任何專利算法,僅
    發表于 12-13 12:37

    Termux中調試圣誕樹Python代碼

    ,先安裝并驗證: 打開Termux,輸入以下命令安裝Python(回車執行): pkg install python -y -y 表示自動確認
    發表于 12-09 09:02

    【EASY EAI Nano-TB(RV1126B)開發板試用】桌面系統功能測試-安裝桌面系統chromium-browser

    | 0接上文### 【EASY EAI Nano-TB(RV1126B)開發板試用】開箱測評 EASY-EAI-NANO-TB固件默認不自帶桌面系統。有需要桌面系統的用戶可通過鏈接網絡自行安裝
    發表于 12-01 06:44

    EASY EAI Nano-TB(RV1126B)開發板試用】1、初識

    Session,并選中Serial,最后選擇open,打開終端: 4、輸入查看信息: 5、系統已經給我們安裝python3: root@EASY-EAI-NANO-TB:/# python
    發表于 11-16 11:15

    使用NucleiStudio生成tb仿真需要的.verilog文件

    打開仿真頂層文件tb_top.v,存放在ITCM模塊里面的指令是通過readmemh函數讀入.verilog文件實現的: 下面通過對NucleiStudio IDE進行設置,實現將c
    發表于 11-05 07:07

    MA35-RTT如何安裝 Python 和 Libusb (Windows) ?

    MA35-RTT:如何安裝 Python 和 Libusb (Windows) ?
    發表于 09-03 08:30

    termux調試python猜數字游戲

    安裝Python ```bash pkg update && pkg upgrade pkg install python ``` Python是Termux官
    發表于 08-29 17:15

    termux如何搭建python游戲

    Pygame),確保已安裝`clang`編譯器:`apt install -y clang` 3. 權限問題:若需訪問手機文件安裝`termux-setup-storage`并授權存儲訪問權限。 通過以上步驟,即可在Te
    發表于 08-29 07:06

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

    matlab代碼編譯為CAO_pythonpython庫,其中cp_Main_python.m為入口文件,編譯后生成的文件有mccExcl
    發表于 07-18 10:40

    【VisionFive 2單板計算機試用體驗】安裝openplc

    openplc-vf2.deb 1.4、創建環境 創建python虛擬環境并安裝python包 user@starfive:~$ cd openplc_v3/ user@starfive
    發表于 07-15 23:30

    ?如何在虛擬環境中使用 Python,提升你的開發體驗~

    RaspberryPiOS預裝了Python,你需要使用其虛擬環境來安裝包。今天出版的最新一期《TheMagPi》雜志刊登了我們文檔負責人NateContino撰寫的一篇實用教程,幫助你入門
    的頭像 發表于 03-25 09:34 ?811次閱讀
    ?如何在虛擬環境中使用 <b class='flag-5'>Python</b>,提升你的開發體驗~