亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

如何搭建一個加法器的UVM驗證平臺

電子工程師 ? 來源:CSDN技術(shù)社區(qū) ? 作者:Andy_ICer ? 2021-04-15 14:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

因為最近事情還挺多的,有一段時間沒有更新了,然后想想還是再積累一下再寫新的文章,結(jié)果就一個月過去了。。。。所以避免拖延癥繼續(xù)發(fā)作還是寫一篇一直想寫的文章吧。

最近自己嘗試搭建一個簡單的驗證平臺,入門就先從簡單開始!

1 RTL設(shè)計

a349cdea-9dac-11eb-8b86-12bb97331649.png

RTL就是一個帶時序的1bit加法器,然后驗證是否功能正確。理論上的正確功能應(yīng)該是輸入數(shù)據(jù)a和數(shù)據(jù)b之后的下個周期輸出結(jié)果sum等于a+b。

2 UVM驗證平臺建立

將整個UVM驗證平臺分為4個部分agent、env、test、tb,逐層遞進,關(guān)于層次大小結(jié)構(gòu)圖可以看這篇文章,下圖是整個驗證平臺的hierarchy。

AndyICer,公眾號:Andy的ICer之路路由器的System Verilog驗證平臺

a365804e-9dac-11eb-8b86-12bb97331649.png

2.1 agent

2.1.1 add_seq_item

首先建立一個transaction,即建立一個數(shù)據(jù)包。

a3c01dc4-9dac-11eb-8b86-12bb97331649.png

2.1.2 add_seq

建立一個sequence,用來發(fā)送transaction。發(fā)送transaction的方式有兩種,一種是用start_item()和finish_item(),另外一種是用`uvm_do()的宏。但是兩種方法的原理是一樣的。

法一:

a3e61088-9dac-11eb-8b86-12bb97331649.png

法二:

a43d3ee4-9dac-11eb-8b86-12bb97331649.png

2.1.3 add_sequencer

建立一個sequencer用于與其他模塊通信

a47c69de-9dac-11eb-8b86-12bb97331649.png

2.1.4 add_driver

driver模塊進行給DUT傳輸數(shù)據(jù),reset phase進行DUT復(fù)位,main phase進行激勵輸入。

a4a39c34-9dac-11eb-8b86-12bb97331649.png

2.1.5 add_monitor

monitor模塊接收DUT發(fā)來的數(shù)據(jù),并通過TLM通信發(fā)送給scoreboard。

a4cc8b76-9dac-11eb-8b86-12bb97331649.png

2.1.6 add_if

定義一個Interface,里面包含有兩個clocking block,定義了driver和monitor接口的輸入輸出方向。

a51c36e4-9dac-11eb-8b86-12bb97331649.png

2.2 env

2.2.1 add_scoreboard

建立scoreboard,進行硬件結(jié)果和軟件結(jié)果的對比。

a55c977a-9dac-11eb-8b86-12bb97331649.png

2.2.2 add_reference_model

這里的邏輯比較簡單,就沒有使用到reference model了,但是還是保留有這個模塊。

a59e980a-9dac-11eb-8b86-12bb97331649.png

2.2.3 add_env

env就是把agent、scoreboard、reference model都build并connect起來。

a5c67cc6-9dac-11eb-8b86-12bb97331649.png

2.3 test

test是驗證環(huán)境的頂層,頂層中將env建立好并將configure也建立好,在頂層中進行設(shè)置。

a602a980-9dac-11eb-8b86-12bb97331649.png

a65e3516-9dac-11eb-8b86-12bb97331649.png

2.4 Testbench

將硬件DUT和軟件驗證環(huán)境聯(lián)系起來,形成一個完成的測試平臺。

a6e00622-9dac-11eb-8b86-12bb97331649.png

a72d59e0-9dac-11eb-8b86-12bb97331649.png

3 驗證結(jié)果

可以看出驗證功能正確,并且通過對于driver和monitor時序的調(diào)整可以控制輸出結(jié)果的時序,大家也可以嘗試搭建一個驗證平臺,對于UVM會有一個更加直觀的感受。

a74f997e-9dac-11eb-8b86-12bb97331649.png

編輯:lyn

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

    關(guān)注

    6

    文章

    183

    瀏覽量

    31179
  • UVM
    UVM
    +關(guān)注

    關(guān)注

    0

    文章

    183

    瀏覽量

    19893

原文標題:一個加法器的UVM驗證平臺設(shè)計

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    E203在基于wallace樹+booth編碼的乘法器優(yōu)化后的跑分結(jié)果

    優(yōu)化思路 E203為了實現(xiàn)低功耗的要求,乘法器為基于booth編碼和移位加法器結(jié)合的思路,優(yōu)點是只需要加法器,而且該
    發(fā)表于 10-27 07:54

    提升蜂鳥E203性能的方法:乘除法器優(yōu)化

    蜂鳥E203內(nèi)核內(nèi)建多周期硬件乘除法器 MDV 模塊只進行運算控制,并沒有自己的加法器 加法器與其他的ALU子單元復(fù)用共享的運算數(shù)據(jù)通路,硬件實現(xiàn)非常節(jié)省面積,是種相當?shù)凸?/div>
    發(fā)表于 10-27 07:16

    蜂鳥E203乘法器的優(yōu)化——基8的Booth編碼+Wallace樹

    考慮到蜂鳥原乘法器采用了基4的Booth編碼,之后使用迭代的方法對每個周期使用加法器對部分積進行累加,結(jié)構(gòu)如下: 從中考慮到兩點優(yōu)化: ① Booth編碼的更改:(使用基8的Booth編碼
    發(fā)表于 10-24 07:28

    Verilog實現(xiàn)使用Booth編碼和Wallace樹的定點補碼乘法器原理

    萊士樹中,對于16位乘法,其每位至少包含6全加器。對于32位乘法,全加器個數(shù)則為14。這樣子做可以保證對于首位,其有6/14空閑的進位要求,這至少可滿足n-2末尾加法操作,剩下的
    發(fā)表于 10-23 08:01

    改進wallance樹乘法器優(yōu)化方法

    周期復(fù)用加法器的部分積加和算法,我們采用了改進的wallance樹結(jié)構(gòu)進行部分積的快速壓縮,實現(xiàn)了單周期的乘法計算。 經(jīng)過時序分析,我們的單周期乘法器時鐘頻率可以提高至140Hz,對比普通陣列乘法器延時
    發(fā)表于 10-23 06:37

    關(guān)于E203內(nèi)核高性能乘法器優(yōu)化(

    位與n位被乘數(shù)的每位相乘,總共相乘n次得到n結(jié)果,這n結(jié)果排列成階梯形狀,兩兩相加得到最終結(jié)果,迭代乘法器的原理也是如此。如下圖迭代乘法器
    發(fā)表于 10-23 06:09

    e203乘法運算結(jié)構(gòu)及算法原理

    乘法運算。 考慮到E203的定位以及性能、功耗與芯片面積的平衡,E203采用了些恰到好處的資源復(fù)用設(shè)計。 首先,乘法器每周器中的加法操作是通過復(fù)用ALU中的加法器實現(xiàn)的。由于乘
    發(fā)表于 10-22 06:43

    e203 ALU乘法運算結(jié)構(gòu)及算法原理

    乘法運算。 考慮到E203的定位以及性能、功耗與芯片面積的平衡,E203采用了些恰到好處的資源復(fù)用設(shè)計。 首先,乘法器每周器中的加法操作是通過復(fù)用ALU中的加法器實現(xiàn)的。由于乘
    發(fā)表于 10-22 06:12

    蜂鳥E203內(nèi)核乘法器的優(yōu)化

    實現(xiàn)的乘法器改成了單周期乘法器實現(xiàn)。利用booth4編碼產(chǎn)生17部分積,經(jīng)過6級CSA被壓縮成兩部分積,最后使用RCA加法器得到最后的乘
    發(fā)表于 10-22 06:11

    NVMe高速傳輸之擺脫XDMA設(shè)計24: UVM 驗證包設(shè)計

    UVM 驗證包的主要功能是對 DUT 提供激勵, 仿真驗證對應(yīng)的功能, 并對測試結(jié)果進行自動對比分析與統(tǒng)計。 驗證包包含
    的頭像 發(fā)表于 09-14 11:29 ?3725次閱讀
    NVMe高速傳輸之擺脫XDMA設(shè)計24: <b class='flag-5'>UVM</b> <b class='flag-5'>驗證</b>包設(shè)計

    NVMe高速傳輸之擺脫XDMA設(shè)計24: UVM 驗證包設(shè)計

    UVM 驗證包設(shè)計結(jié)構(gòu)如圖 1 所示。 UVM 驗證包的主要功能是對 DUT 提供激勵, 仿真驗證對應(yīng)的功能, 并對測試結(jié)果進行自動對比分析
    發(fā)表于 08-29 14:33

    NVMe高速傳輸之擺脫XDMA設(shè)計23:UVM驗證平臺

    抽象為 PCIeTLP 事務(wù),因此為了方便的在事務(wù)層構(gòu)建復(fù)雜的測試用例,項目基于 UVM 搭建驗證平臺進行功能驗證。圖1
    發(fā)表于 08-26 09:49

    NVMe高速傳輸之擺脫XDMA設(shè)計23:UVM驗證平臺

    抽象為 PCIeTLP 事務(wù),因此為了方便的在事務(wù)層構(gòu)建復(fù)雜的測試用例,項目基于 UVM 搭建驗證平臺進行功能驗證。
    的頭像 發(fā)表于 08-25 18:53 ?2492次閱讀
    NVMe高速傳輸之擺脫XDMA設(shè)計23:<b class='flag-5'>UVM</b><b class='flag-5'>驗證</b><b class='flag-5'>平臺</b>

    NVMe高速傳輸之擺脫XDMA設(shè)計25:UVM驗證平臺

    抽象為 PCIeTLP 事務(wù),因此為了方便的在事務(wù)層構(gòu)建復(fù)雜的測試用例,項目基于 UVM 搭建驗證平臺進行功能驗證
    的頭像 發(fā)表于 08-04 16:52 ?563次閱讀
    NVMe高速傳輸之擺脫XDMA設(shè)計25:<b class='flag-5'>UVM</b><b class='flag-5'>驗證</b><b class='flag-5'>平臺</b>

    NVMe高速傳輸之擺脫XDMA設(shè)計18:UVM驗證平臺

    抽象為 PCIeTLP 事務(wù),因此為了方便的在事務(wù)層構(gòu)建復(fù)雜的測試用例,項目基于 UVM 搭建驗證平臺進行功能驗證。圖1
    發(fā)表于 07-31 16:39