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

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

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

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

TLM通信中常用的術(shù)語

我快閉嘴 ? 來源:FPGA學(xué)姐 ? 作者:FPGA學(xué)姐 ? 2022-09-19 10:24 ? 次閱讀

TLM是transaction Level Modeling(事務(wù)級(jí)建模)的縮寫。簡單來說,一個(gè)transaction就是把具有某一特定功能的一組信息封裝在一起而成為的一個(gè)類。

如何要在兩個(gè)uvm_component之間通信,例如實(shí)現(xiàn)monitor和scoreboard通信,最簡單的方法就是使用全局變量,在monitor里對(duì)此全局變量進(jìn)行賦值,在scoreboard里監(jiān)測此全局變量值的改變。

這種方法簡單、直接,不過要避免使用全局變量,濫用全局變量只會(huì)造成災(zāi)難性的后果。

e8db61de-373e-11ed-ba43-dac502259ad0.png

由config機(jī)制的特性可以想出另一種方法來,即從uvm_object派生出一個(gè)參數(shù)類config_object,在此類中有monitor要傳給scoreboard的變量。在base_test中,實(shí)例化這個(gè)config_object,并將其指針通過config_db#(config_object)::set傳遞給scoreboard和monitor。

當(dāng)monitor要和scoreboard通信時(shí),只要把此config_object中相應(yīng)變量的值改變即可。scoreboard中則監(jiān)測變量值的改變,監(jiān)測到之后做相應(yīng)動(dòng)作。但是一是要引入一個(gè)專門的config_object類,二是一定要有base_test這個(gè)第三方的參與。永遠(yuǎn)不能保證某一個(gè)從base_test派生而來的類會(huì)不會(huì)改變這個(gè)config_object類中某些變量的值。

  • TLM通信中有如下幾個(gè)常用的術(shù)語

1)put操作,通信的發(fā)起者A把一個(gè)transaction發(fā)送給B。。A具有的端口(用方框表示)稱為PORT,而B的端口(用圓圈表示)稱為EXPORT。這個(gè)過程中,數(shù)據(jù)流是從A流向B的。

e9060e66-373e-11ed-ba43-dac502259ad0.png

2)get操作,A向B索取一個(gè)transaction。A上的端口依然是PORT,而B上的端口依然是EXPORT。這個(gè)過程中,數(shù)據(jù)流是從B流向A的。到這里,讀者應(yīng)該意識(shí)到,PORT和EXPORT體現(xiàn)的是控制流而不是數(shù)據(jù)流。

3)transport操作,A上的端口依然是PORT,而B上的端口依然是EXPORT。A依然是“發(fā)起者”,B依然是“目標(biāo)”。在這個(gè)過程中,數(shù)據(jù)流先從A流向B,再從B流向A。在現(xiàn)實(shí)世界中,相當(dāng)于是A向B提交了一個(gè)請(qǐng)求(request),而B返回給A一個(gè)應(yīng)答(response)。所以這種transport操作也常常被稱做request-response操作。

put、get和transport操作都有阻塞和非阻塞之分。

e91fc34c-373e-11ed-ba43-dac502259ad0.png

  • PORT與EXPORT

PORT具有高優(yōu)先級(jí),而EXPORT具有低優(yōu)先級(jí)。只有高優(yōu)先級(jí)的端口才能向低優(yōu)先級(jí)的端口發(fā)起三種操作

UVM提供對(duì)TLM操作的支持,在其中實(shí)現(xiàn)了PORT與EXPORT。對(duì)應(yīng)于不同的操作,有不同的PORT,UVM中常用的PORT有

uvm_blocking_put_port#(T);uvm_nonblocking_put_port#(T);uvm_put_port#(T);uvm_blocking_get_port#(T);uvm_nonblocking_get_port#(T);uvm_get_port#(T);uvm_blocking_peek_port#(T);uvm_nonblocking_peek_port#(T);uvm_peek_port#(T);//peek系列端口,它們與get系列端口類似,用于主動(dòng)獲取數(shù)據(jù)uvm_blocking_get_peek_port#(T);uvm_nonblocking_get_peek_port#(T);uvm_get_peek_port#(T);//集合了get操作和peek操作兩者的功能uvm_blocking_transport_port#(REQ, RSP);uvm_nonblocking_transport_port#(REQ, RSP);uvm_transport_port#(REQ, RSP);

這15個(gè)端口中前12個(gè)定義中的參數(shù)就是這個(gè)PORT中的數(shù)據(jù)流類型,而最后3個(gè)定義中的參數(shù)則表示transport操作中發(fā)起請(qǐng)求時(shí)傳輸?shù)臄?shù)據(jù)類型和返回的數(shù)據(jù)類型

TLM中的操作,同時(shí)以blocking和nonblocking關(guān)鍵字區(qū)分。對(duì)于名稱中不含這兩者的,則表示這個(gè)端口既可以用作是阻塞的,也可以用作是非阻塞的,否則只能用于阻塞的或者只能用于非阻塞的。

  • 下面的15種EXPORT定義與前面的15種PORT一一對(duì)應(yīng)

來源:UVM源代碼uvm_blocking_put_export#(T);uvm_nonblocking_put_export#(T);uvm_put_export#(T);uvm_blocking_get_export#(T);uvm_nonblocking_get_export#(T);uvm_get_export#(T);uvm_blocking_peek_export#(T);uvm_nonblocking_peek_export#(T);uvm_peek_export#(T);uvm_blocking_get_peek_export#(T);uvm_nonblocking_get_peek_export#(T);uvm_get_peek_export#(T);uvm_blocking_transport_export#(REQ, RSP);uvm_nonblocking_transport_export#(REQ, RSP);uvm_transport_export#(REQ, RSP);

  • PORT與EXPORT的連接

為了實(shí)現(xiàn)端口間的通信,UVM 中使用connect 函數(shù)來建立連接關(guān)系。如A要和B通信(A 是發(fā)起者),那么可以這么寫:A.port.connect(B.export),但是不能寫成B.export.connect(A.port),只有發(fā)起者才能調(diào)用connect 函數(shù)。

舉例,A的代碼為

文件:src/ch4/section4.2/4.2.1/A.sv3 classAextendsuvm_component;`uvm_component_utils(A)uvm_blocking_put_port#(my_transaction)A_port;endclass14functionvoidA::build_phase(uvm_phasephase);super.build_phase(phase);A_port=new("A_port",this);endfunction19taskA::main_phase(uvm_phasephase);endtask

接一個(gè)EXPORT。B的代碼為

文件:src/ch4/section4.2/4.2.1/B.sv3classBextendsuvm_component;`uvm_component_utils(B)uvm_blocking_put_export#(my_transaction)B_export;…endclassfunctionvoidB::build_phase(uvm_phasephase);super.build_phase(phase);B_export=new("B_export",this);endfunction19taskB::main_phase(uvm_phasephase); endtask

在env中建立兩者之間的連接:

文件:src/ch4/section4.2/4.2.1/my_env.sv4 class my_env extends uvm_env;A   A_inst;B   B_inst;virtual function void build_phase(uvm_phase phase);A_inst = A::type_id::create("A_inst", this);B_inst = B::type_id::create("B_inst", this);endfunctionendclassfunction void my_env::connect_phase(uvm_phase phase);super.connect_phase(phase);A_inst.A_port.connect(B_inst.B_export);endfunction

審核編輯:湯梓紅

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

    關(guān)注

    1642

    文章

    21920

    瀏覽量

    612107
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6145

    瀏覽量

    137170
  • TLM
    TLM
    +關(guān)注

    關(guān)注

    1

    文章

    33

    瀏覽量

    24881

原文標(biāo)題:UVM里的TLM通信機(jī)制

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電子技術(shù)中常用符號(hào)及術(shù)語大全

    電子技術(shù)中常用符號(hào)及術(shù)語大全 VBO …… Breakover Voltage 轉(zhuǎn)折電壓 VC …… Clamping Voltage 箝位電壓 VDC、 VR …… DC Reverse Voltage 反向
    發(fā)表于 12-04 09:13 ?4159次閱讀

    通信中常聽到的band38、39指什么?

    通信中常聽到的band38、39指什么?為什么lte有時(shí)工作頻率可以是2.3G?
    發(fā)表于 01-25 23:15

    無線通信中術(shù)語匯總

    無線通信中術(shù)語介紹
    發(fā)表于 12-21 06:02

    OpenGL常用術(shù)語有哪些?

    OpenGL常用術(shù)語解析
    發(fā)表于 03-18 06:57

    嵌入式領(lǐng)域中常用的5種通信協(xié)議是什么

    文章目錄嵌入式領(lǐng)域中常用的5種通信協(xié)議嵌入式領(lǐng)域中常用的5種通信協(xié)議串口協(xié)議(UART/USART):串口總線其實(shí)就是一種通信協(xié)議,這種協(xié)議
    發(fā)表于 12-14 06:22

    通信專業(yè)常用英語術(shù)語詳解

    通信專業(yè)常用英語術(shù)語詳解ADM Add Drop Multiplexer 分插復(fù)用器: 利用時(shí)隙交換實(shí)現(xiàn)寬帶管理,即允許兩個(gè)STM-N信號(hào)之間的不同VC實(shí)現(xiàn)互連,并且具有無需分接和終結(jié)整
    發(fā)表于 11-23 16:43 ?0次下載

    電子技術(shù)中常用符號(hào)及術(shù)語

    符號(hào)及術(shù)語SYMBOLS  
    發(fā)表于 03-29 16:59 ?5172次閱讀

    LED照明常用術(shù)語

    LED照明常用術(shù)語
    發(fā)表于 03-01 09:08 ?912次閱讀

    網(wǎng)絡(luò)設(shè)備中常術(shù)語含義及故障分析

    網(wǎng)絡(luò)設(shè)備中常術(shù)語含義及故障分析,詳細(xì)解釋了在網(wǎng)絡(luò)設(shè)備使用中常見的術(shù)語
    發(fā)表于 12-27 11:38 ?1.5w次閱讀

    智慧農(nóng)業(yè)中的常用術(shù)語解析

    了解智慧農(nóng)業(yè)中常用術(shù)語的定義,這些術(shù)語包括農(nóng)業(yè)4.0、農(nóng)藝數(shù)據(jù)、物聯(lián)網(wǎng)、農(nóng)業(yè)即服務(wù)、精準(zhǔn)農(nóng)業(yè)等。
    的頭像 發(fā)表于 12-29 14:49 ?5325次閱讀

    數(shù)據(jù)通信中的模擬數(shù)據(jù)和數(shù)字?jǐn)?shù)據(jù)

    在數(shù)據(jù)通信中,概念性的術(shù)語很多,只有弄清楚這些概念術(shù)語,才能真正地掌握數(shù)據(jù)通信的意義。
    發(fā)表于 08-26 11:50 ?1.1w次閱讀

    科普:示波器常用術(shù)語解釋

    科普:示波器常用術(shù)語解釋
    發(fā)表于 07-15 18:55 ?3次下載
    科普:示波器<b class='flag-5'>常用</b>的<b class='flag-5'>術(shù)語</b>解釋

    分享:單片機(jī)常用術(shù)語

    分享:單片機(jī)常用術(shù)語
    發(fā)表于 02-10 11:11 ?6次下載
    分享:單片機(jī)<b class='flag-5'>常用</b><b class='flag-5'>術(shù)語</b>

    無線通信系統(tǒng)中常用的HARQ機(jī)制

    本文主要簡述一下在無線通信系統(tǒng)中常用的HARQ機(jī)制。注意,在不同的標(biāo)準(zhǔn)中,HARQ傳輸機(jī)制有所不同。
    的頭像 發(fā)表于 08-05 09:07 ?2639次閱讀

    100個(gè)數(shù)字IC設(shè)計(jì)中常用的縮寫或術(shù)語

    下面為大家收集了100個(gè)數(shù)字IC設(shè)計(jì)中常用的縮寫或術(shù)語,供大家參考,為初學(xué)者門的學(xué)習(xí)添磚加瓦。
    發(fā)表于 06-20 12:43 ?4967次閱讀
    主站蜘蛛池模板: 免费看逼网站 | www日| 一级特黄性色生活片一区二区 | 天天综合天天添夜夜添狠狠添 | 黄色有码视频 | 中文字幕亚洲一区二区v@在线 | a理论片 | a级黑粗大硬长爽猛视频毛片 | 一区在线观看 | 婷婷综合七月激情啪啪 | 久久久免费网站 | 色男人综合| 天天插天天操天天射 | 天天艹天天 | 国产精品露脸脏话对白 | 七月色婷婷 | 免费三级黄色 | 午夜爱爱小视频 | 国产清纯白嫩大学生正在播放 | 午夜视频啪啪 | 国产一卡2卡3卡四卡精品网站 | 免费欧洲美女与动zooz | 色免费视频 | 91福利国产在线观看网站 | 在线黄色网 | 狠狠综合欧美综合欧美色 | 日本不卡高清免费 | 亚洲三级黄色 | 俄罗斯一级成人毛片 | 最近的中文字幕免费动漫视频 | 激情六月婷婷开心丁香开心 | 免费人成年激情视频在线观看 | 亚洲色图综合 | 99久久精品国产自免费 | 一级做受毛片免费大片 | 网站毛片 | 午夜精品久久久久久久第一页 | 日本欧洲亚洲一区在线观看 | 婷婷久久五月天 | 天天影视网天天影网 | 好吊色青青青国产在线观看 |