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)不再提示

cocotb的安裝、python tb文件的寫(xiě)法

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

掃碼添加小助手

加入工程師交流群

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

一、準(zhǔn)備

  • centos7

  • python3.6+

  • yum install python3-devel

  • pip3 install --upgradecocotb

二、寫(xiě)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

三、寫(xiě)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é)束仿真

四、寫(xiě)仿真腳本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語(yǔ)言選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”,并打印出匯總信息??梢?jiàn)log還是很友好的。

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

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

審核編輯 :李倩


聲明:本文內(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)投訴
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1053

    瀏覽量

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

    關(guān)注

    30

    文章

    4977

    瀏覽量

    74400
  • python
    +關(guān)注

    關(guān)注

    58

    文章

    4888

    瀏覽量

    90320

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Ansys Lumerical FDTD R2 安裝教程及安裝包分享

    (仿真建議 32GB+) 硬盤(pán): ≥50GB SSD (安裝 + 臨時(shí)文件) 顯卡:NVIDIA RTX 系列(支持 CUDA,GPU 加速可選) 2. 關(guān)鍵前置條件(極易踩坑) 用戶(hù)名 / 計(jì)算機(jī)
    發(fā)表于 04-24 11:32

    [VirtualLab] 使用Python運(yùn)行VirtualLab Fusion光學(xué)仿真

    Python編輯器的用戶(hù): 請(qǐng)安裝保存在文件requirements.txt中的所有軟件包。最常見(jiàn)的方法之一是pip安裝: pip install -r requirements.tx
    發(fā)表于 03-31 09:39

    如何在 Vision Five 2 上安裝 python 庫(kù)?

    這可能是一個(gè)完全愚蠢的問(wèn)題,但我如何在 Vision Five 2 上安裝 python 庫(kù)。 使用該命令后,它給了我這個(gè)錯(cuò)誤。 默認(rèn)為用戶(hù)安裝,因?yàn)槠胀ㄕ军c(diǎn)包不可寫(xiě) 錯(cuò)誤:找不到滿足要求
    發(fā)表于 03-06 07:51

    安裝 Python VisionFive_GPIO失敗是哪里出了問(wèn)題?

    wget bs4 python3 安裝VisionFive_gpio.py python3:無(wú)法打開(kāi)文件 \'home/user/Install VisionFive_gpio.py
    發(fā)表于 02-11 06:13

    【EASY EAI Nano-TB(RV1126B)開(kāi)發(fā)板試用】+桌面系統(tǒng)安裝及測(cè)試

    EASY-EAI-NANO-TB固件是不帶桌面系統(tǒng)的,對(duì)于使用桌面系統(tǒng)的用戶(hù)需自行安裝。完成一定要使用系統(tǒng)具備下載程序的能力,前面以介紹了建立網(wǎng)絡(luò)通信的方法,以此為基礎(chǔ)即可進(jìn)行桌面系統(tǒng)的安裝。 1
    發(fā)表于 12-26 23:53

    【EASY EAI Nano-TB(RV1126B)開(kāi)發(fā)板試用】介紹、系統(tǒng)安裝

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

    沒(méi)有專(zhuān)利的opencv-python 版本

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

    Termux中調(diào)試圣誕樹(shù)Python代碼

    ,先安裝并驗(yàn)證: 打開(kāi)Termux,輸入以下命令安裝Python(回車(chē)執(zhí)行): pkg install python -y -y 表示自動(dòng)確認(rèn)
    發(fā)表于 12-09 09:02

    EASY EAI Nano-TB(RV1126B)開(kāi)發(fā)板試用】1、初識(shí)

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

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

    打開(kāi)仿真頂層文件tb_top.v,存放在ITCM模塊里面的指令是通過(guò)readmemh函數(shù)讀入.verilog文件實(shí)現(xiàn)的: 下面通過(guò)對(duì)NucleiStudio IDE進(jìn)行設(shè)置,實(shí)現(xiàn)將c
    發(fā)表于 11-05 07:07

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

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

    termux調(diào)試python猜數(shù)字游戲

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

    termux如何搭建python游戲

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

    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