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

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

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

3天內不再提示

TLM通信中常用的術語

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

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

如何要在兩個uvm_component之間通信,例如實現monitor和scoreboard通信,最簡單的方法就是使用全局變量,在monitor里對此全局變量進行賦值,在scoreboard里監測此全局變量值的改變。

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

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

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

當monitor要和scoreboard通信時,只要把此config_object中相應變量的值改變即可。scoreboard中則監測變量值的改變,監測到之后做相應動作。但是一是要引入一個專門的config_object類,二是一定要有base_test這個第三方的參與。永遠不能保證某一個從base_test派生而來的類會不會改變這個config_object類中某些變量的值。

  • TLM通信中有如下幾個常用的術語

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

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

2)get操作,A向B索取一個transaction。A上的端口依然是PORT,而B上的端口依然是EXPORT。這個過程中,數據流是從B流向A的。到這里,讀者應該意識到,PORT和EXPORT體現的是控制流而不是數據流。

3)transport操作,A上的端口依然是PORT,而B上的端口依然是EXPORT。A依然是“發起者”,B依然是“目標”。在這個過程中,數據流先從A流向B,再從B流向A。在現實世界中,相當于是A向B提交了一個請求(request),而B返回給A一個應答(response)。所以這種transport操作也常常被稱做request-response操作

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

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

  • PORT與EXPORT

PORT具有高優先級,而EXPORT具有低優先級。只有高優先級的端口才能向低優先級的端口發起三種操作

UVM提供對TLM操作的支持,在其中實現了PORT與EXPORT。對應于不同的操作,有不同的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系列端口類似,用于主動獲取數據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個端口中前12個定義中的參數就是這個PORT中的數據流類型,而最后3個定義中的參數則表示transport操作中發起請求時傳輸的數據類型和返回的數據類型

TLM中的操作,同時以blocking和nonblocking關鍵字區分。對于名稱中不含這兩者的,則表示這個端口既可以用作是阻塞的,也可以用作是非阻塞的,否則只能用于阻塞的或者只能用于非阻塞的。

  • 下面的15種EXPORT定義與前面的15種PORT一一對應

來源: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的連接

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

舉例,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

接一個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

審核編輯:湯梓紅

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

    關注

    1644

    文章

    21993

    瀏覽量

    615344
  • 通信
    +關注

    關注

    18

    文章

    6184

    瀏覽量

    137483
  • TLM
    TLM
    +關注

    關注

    1

    文章

    33

    瀏覽量

    24932

原文標題:UVM里的TLM通信機制

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    電子技術中常用符號及術語大全

    電子技術中常用符號及術語大全 VBO …… Breakover Voltage 轉折電壓 VC …… Clamping Voltage 箝位電壓 VDC、 VR …… DC Reverse Voltage 反向
    發表于 12-04 09:13 ?4225次閱讀

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

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

    無線通信中術語匯總

    無線通信中術語介紹
    發表于 12-21 06:02

    OpenGL常用術語有哪些?

    OpenGL常用術語解析
    發表于 03-18 06:57

    嵌入式領域中常用的5種通信協議是什么

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

    通信專業常用英語術語詳解

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

    電子技術中常用符號及術語

    符號及術語SYMBOLS  
    發表于 03-29 16:59 ?5189次閱讀

    LED照明常用術語

    LED照明常用術語
    發表于 03-01 09:08 ?971次閱讀

    網絡設備中常術語含義及故障分析

    網絡設備中常術語含義及故障分析,詳細解釋了在網絡設備使用中常見的術語
    發表于 12-27 11:38 ?1.5w次閱讀

    光耦常用參數及術語

    光耦常用參數及術語
    發表于 06-04 11:25 ?997次閱讀

    智慧農業中的常用術語解析

    了解智慧農業中常用術語的定義,這些術語包括農業4.0、農藝數據、物聯網、農業即服務、精準農業等。
    的頭像 發表于 12-29 14:49 ?5426次閱讀

    數據通信中的模擬數據和數字數據

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

    科普:示波器常用術語解釋

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

    無線通信系統中常用的HARQ機制

    本文主要簡述一下在無線通信系統中常用的HARQ機制。注意,在不同的標準中,HARQ傳輸機制有所不同。
    的頭像 發表于 08-05 09:07 ?2788次閱讀

    100個數字IC設計中常用的縮寫或術語

    下面為大家收集了100個數字IC設計中常用的縮寫或術語,供大家參考,為初學者門的學習添磚加瓦。
    發表于 06-20 12:43 ?5504次閱讀
    主站蜘蛛池模板: 国产成+人+综合+亚洲欧美丁香花 | 色综合久久中文字幕网 | 国产1区二区 | 国产男女怕怕怕免费视频 | 最新看片网址 | 大色综合色综合资源站 | 国产男女交性视频播放免费bd | 久久伊人精品青青草原高清 | 正在播放羽月希与黑人bd在线 | 性欧美高清久久久久久久 | 天天好比 | 欧美黄三级在线观看 | 天天舔天天插 | 黄蓉吕文德欲乱系列小说 | 天堂在线最新版www中文 | 欧美在线观看www | 色综合97天天综合网 | 三级网站免费 | 中文字幕va| 岛国大片在线 | 黄黄的网站在线观看 | 天天做人人爱夜夜爽2020毛片 | 夜夜操天天操 | 久久黄网站 | 国产色综合一区二区三区 | 久久美女精品国产精品亚洲 | 成人午夜精品久久久久久久小说 | 天天狠天天透 | 日本黄色的视频 | 国产成人亚洲综合a∨婷婷 国产成人一区二区三中文 国产成人一区二区在线不卡 | 99久久免费中文字幕精品 | 综合激情六月 | 女人张开腿 让男人桶视频 女人张开腿等男人桶免费视频 | 久久天天丁香婷婷中文字幕 | 色婷婷欧美 | 日本xxwwxxww视频免费丝袜 | 美女露出尿口让男人桶爽网站 | 色屋视频| 日本高清视频色 | 国产亚洲欧美日韩俺去了 | 亚洲一区二区三区四区在线观看 |