99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

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

倩倩 ? 來源:處芯積律 ? 作者:處芯積律 ? 2022-09-21 11:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

一、準(zhǔn)備

  • 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行:定義了一個(gè)時(shí)鐘,50MHz,100個(gè)周期。

13~17行:定義了一個(gè)復(fù)位信號(hào),低電平有效。復(fù)位拉高打印“Reset Done”,方便看log。

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

22行:異步啟動(dòng)gen_clk

23行:異步啟動(dòng)gen_rst

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

30行:等待100ns結(jié)束仿真

四、寫仿真腳本Makefile


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

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

五、仿真和看波形

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

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

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

用verdi打開fsdb,與預(yù)期一致:

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

審核編輯 :李倩


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

    關(guān)注

    14

    文章

    1037

    瀏覽量

    85413
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70747
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86758

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

    【VisionFive 2單板計(jì)算機(jī)試用體驗(yàn)】安裝openplc

    openplc-vf2.deb 1.4、創(chuàng)建環(huán)境 創(chuàng)建python虛擬環(huán)境并安裝python包 user@starfive:~$ cd openplc_v3/ user@starfive
    發(fā)表于 07-15 23:30

    ?如何在虛擬環(huán)境中使用 Python,提升你的開發(fā)體驗(yàn)~

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

    創(chuàng)建OpenVINO? Python腳本,運(yùn)行可執(zhí)行文件時(shí)遇到的報(bào)錯(cuò)怎么解決?

    創(chuàng)建OpenVINO? Python 腳本: from openvino.inference_engine import IECore ie = IECore() print(\"
    發(fā)表于 03-05 10:20

    如何將python文件導(dǎo)入到ROS系統(tǒng)中

    本文通過使用myCobot機(jī)械臂進(jìn)行QR碼視覺追蹤的實(shí)踐案例分析,介紹如何將 python 文件導(dǎo)入到 ROS 系統(tǒng)中。
    的頭像 發(fā)表于 02-11 11:08 ?805次閱讀
    如何將<b class='flag-5'>python</b><b class='flag-5'>文件</b>導(dǎo)入到ROS系統(tǒng)中

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

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

    Flexus 云服務(wù)器 X:Python 安裝的極致便捷之旅

    前言 ????????Python 作為一種高級(jí)編程語言,因其簡(jiǎn)潔易讀的語法和強(qiáng)大的庫(kù)支持,在數(shù)據(jù)科學(xué)、人工智能、Web 開發(fā)等領(lǐng)域得到了廣泛應(yīng)用。然而,不同平臺(tái)上的安裝過程可能會(huì)有所不同,尤其是在
    的頭像 發(fā)表于 01-07 17:00 ?349次閱讀
    Flexus 云服務(wù)器 X:<b class='flag-5'>Python</b> <b class='flag-5'>安裝</b>的極致便捷之旅

    Triton編譯器安裝步驟詳解

    :用于構(gòu)建項(xiàng)目。 Python :用于運(yùn)行 Triton 的 Python 綁定。 其他依賴 :根據(jù)您選擇的架構(gòu),可能需要額外的依賴。 2. 安裝依賴 對(duì)于 Linux: 打開終端并運(yùn)行以下命令來
    的頭像 發(fā)表于 12-24 17:35 ?2634次閱讀

    使用Python進(jìn)行串口通信的案例

    當(dāng)然!以下是一個(gè)使用Python進(jìn)行串口通信的簡(jiǎn)單示例。這個(gè)示例展示了如何配置串口、發(fā)送數(shù)據(jù)以及接收數(shù)據(jù)。我們將使用 pyserial 庫(kù),這是一個(gè)非常流行的用于串口通信的Python庫(kù)。 首先,你
    的頭像 發(fā)表于 11-22 09:11 ?1468次閱讀

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

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

    Efinity軟件安裝-v5

    step1:安裝Python,注意勾選“Add Python 3.7 to PATH” (2022版本及以后直接跳過該步驟)注意:從2021.1就不需要單獨(dú)安裝
    的頭像 發(fā)表于 11-01 11:06 ?962次閱讀

    使用Python搭建簡(jiǎn)易本地http服務(wù)器,升級(jí)WIPI模組

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

    PDF文件批量打印源代碼

    壓縮包中包含可批量打印PDF文件Python代碼,可以借助PYcharm工具執(zhí)行,實(shí)現(xiàn)多PDF文件同時(shí)打印。
    發(fā)表于 08-08 14:26 ?0次下載

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

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

    安裝esp-idf-tools-setup-offline-5.1.2.exe到結(jié)尾運(yùn)行python時(shí)顯示應(yīng)用程序無法正常啟動(dòng)如何解決?

    安裝esp-idf-tools-setup-offline-5.1.2.exe到結(jié)尾運(yùn)行python時(shí)顯示應(yīng)用程序無法正常啟動(dòng)(0xc000007b),如何解決
    發(fā)表于 07-24 07:50