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

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

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

UVM中基于SOCKET通信的TLM2.0介紹

sanyue7758 ? 來源:芯片學(xué)堂 ? 2023-06-25 09:58 ? 次閱讀

TLM2.0在2009年成為OSCI標(biāo)準(zhǔn),主要用于構(gòu)造總線系統(tǒng)的SystemC模型。盡管如此,當(dāng)TLM2.0被引入到SV,它在構(gòu)造testbench這件事情上也有所建樹,為連接testbench與SystemC模型提供了便利。

本文在介紹TLM2.0時(shí)將主要覆蓋其三大特征:interface,socket和generic payload。

01

Interface

TLM2.0跟TLM-1類似,有port、export和imp這些接口概念。在傳輸類型上,可以分為阻塞和非阻塞。其中非阻塞傳輸通過包含兩個(gè)不同方向的傳輸路徑來實(shí)現(xiàn)雙向傳輸(bi-directional),這兩個(gè)傳輸路徑分別是前向傳輸路徑(forward transport path)和反向傳輸路徑(backward transport path)。這么一結(jié)合,就有了以下TLM2.0接口的九種基本類型。

4c9b445c-11d5-11ee-962d-dac502259ad0.png

接下來是傳輸函數(shù)。相比于TLM-1中傳輸函數(shù)put和get,TLM2.0使用的傳輸函數(shù)從SystemC原原本本地遷移了過來,主要由下面三種傳輸函數(shù)。這些傳輸函數(shù)的原型定義在uvm_tlm_if類中,該類也是上面九種接口類的父類的父類的父類。

4cc704de-11d5-11ee-962d-dac502259ad0.png

結(jié)合起來看,TLM2.0接口的基本類型中,會(huì)提供對應(yīng)的傳輸函數(shù)供調(diào)用(比如:支持阻塞傳輸?shù)娜齻€(gè)接口類中,都會(huì)調(diào)用宏去實(shí)現(xiàn)傳輸函數(shù)b_transport),以及connect函數(shù)供建立連接關(guān)系(connect函數(shù)的主要目的是實(shí)現(xiàn)接口句柄的傳遞)。好在這一部分作為TLM2.0的底層實(shí)現(xiàn),用戶應(yīng)用中可以不去關(guān)心。

02

Socket

TLM2.0最主要的貢獻(xiàn)是提出了socket的概念。Socket在UVM TLM2.0中,實(shí)現(xiàn)上是對port、export和imp的又一層封裝,以提供更加統(tǒng)一和簡潔的連接。下面首先擴(kuò)展一下知識(shí)面,說說socket。

Socket,直譯過來叫“插座”,后來由于功能相似被引入到軟件領(lǐng)域,并被翻譯成了“套接字”,首先廣泛用于計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域。Socket在計(jì)算機(jī)網(wǎng)絡(luò)模型中,作為應(yīng)用層和傳輸層之間的一個(gè)抽象層,這就意味著,socket為下游的傳輸層(TCP/IP)做了接口封裝,并為上游應(yīng)用層(用戶進(jìn)程)提供網(wǎng)絡(luò)通信服務(wù)(service)。

4ceed8c4-11d5-11ee-962d-dac502259ad0.png

從整個(gè)通信鏈路角度看,socket就像是某種規(guī)格的插座,服務(wù)端和客戶端通過規(guī)格(域、套接字類型、協(xié)議)匹配的“線纜”插上兩端(通過IP地址和端口名),即可實(shí)現(xiàn)端到端的通信,通信的過程不再需要去關(guān)心中間的通信協(xié)議和實(shí)現(xiàn)細(xì)節(jié)。

當(dāng)Socket的概念被引入到TLM建模,它依然保留著它原本的特點(diǎn):端到端,協(xié)議統(tǒng)一,雙向通信。當(dāng)然,TLM Sockets也有自己的特點(diǎn),比如可用于流量控制的延時(shí)參數(shù)等等。 TLM2.0這套機(jī)制本身可以說是圍繞socket接口展開的。Socket涉及到的類有8個(gè),都是一對一對的,使用的時(shí)候非常方便和干凈。

4d0d3ec2-11d5-11ee-962d-dac502259ad0.png

根據(jù)阻塞性和在通信鏈路中的位置,socket類型可以按照下表分類。

4d432398-11d5-11ee-962d-dac502259ad0.png

其中IS-A表示面向?qū)ο蟮睦^承關(guān)系,可以理解為“它本質(zhì)是xxxx接口”;HAS-A表示對象之間的關(guān)聯(lián)關(guān)系,可以理解為“它還有一個(gè)xxxx接口”,舉個(gè)例子:用于非阻塞傳輸?shù)膇nitiator的socket(uvm_tlm_nb_initiator_socket),它本質(zhì)是一個(gè)支持前向傳輸?shù)膒ort接口,同時(shí)它還有一個(gè)支持后向傳輸?shù)膇mp接口。

03

Generic Payload

統(tǒng)一的通信事務(wù)(payload)可能是TLM2.0理想的用法,從UVM源碼中可以看到在接口和socket涉及到transaction類型的地方,都用了默認(rèn)類型uvm_tlm_generic_payload. Generic payload的基類是uvm_sequence_item,本質(zhì)上跟之前接觸到的transaction沒有什么兩樣,它可以被看做是TLM2.0為我們定義好的可以直接用于總線系統(tǒng)建模的事務(wù)模板。

因?yàn)槭敲嫦蚩偩€系統(tǒng)建模而創(chuàng)建的transaction,所以generic payload包含的域基本也都跟總線相關(guān),比如地址(m_address)、數(shù)據(jù)(data[])、讀/寫(m_command)、突發(fā)長度(m_stream_width)、字節(jié)掩碼(m_byte_enable[])、響應(yīng)類型(m_response_status)等。如果還有更多的字段,比如memory屬性、安全屬性、ID號等其他sideband信號,可以通過擴(kuò)展m_extensions數(shù)據(jù)結(jié)構(gòu)來進(jìn)行添加。





審核編輯:劉清

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

    關(guān)注

    0

    文章

    181

    瀏覽量

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

    關(guān)注

    1

    文章

    32

    瀏覽量

    24722
  • TCPIP協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    35

    瀏覽量

    11918

原文標(biāo)題:UVM中基于SOCKET通信的TLM2.0

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

收藏 人收藏

    評論

    相關(guān)推薦

    DS1302介紹

    DS1302介紹一款高性能、低功耗的日歷時(shí)鐘DS1302是一種串行接口的實(shí)時(shí)時(shí)鐘,內(nèi)部有可編程的日歷時(shí)鐘和31個(gè)字節(jié)的靜態(tài)RAM,可以自動(dòng)進(jìn)行閏年補(bǔ)償工作電壓范圍寬(2.5V~5.5V),還有對備用
    發(fā)表于 07-19 06:59

    EFR32介紹

    EFR32介紹EFR32 Mighty Gecko ZigBee 和 Thread 的 SoC 系列是無線 Gecko 產(chǎn)品系列的組成部分。 Mighty Gecko SoC 是實(shí)現(xiàn) IoT 設(shè)備
    發(fā)表于 07-23 06:21

    ISO14443介紹

    內(nèi)容提綱1、ISO14443介紹-了解2、14443-A幀格式-掌握3、喚醒、防沖突、選卡-掌握認(rèn)識(shí)14443ISO14443協(xié)議:ISO14443協(xié)議是Contactless card
    發(fā)表于 07-27 07:10

    FDC2214介紹

    一、FDC2214介紹(1)這個(gè)圖片截自FDC2214的數(shù)據(jù)手冊,可以看出FDC2214與MCU之前的通訊是靠I2C協(xié)議來完成的,該芯片的外圍電路設(shè)計(jì)在手冊已給出。(2)該模塊I2C接口最大速度為
    發(fā)表于 08-12 08:10

    LCD1602介紹

    World」。1. LCD1602介紹對于單片機(jī)愛好者和電子愛好者來說,或多或少都曾使用過液晶顯示模塊。它們都是由若干個(gè)點(diǎn)陣字符位組成的,根據(jù)顯示內(nèi)容可分為1602、12864等。LCD1602可...
    發(fā)表于 03-01 07:33

    溫度傳感器 LM35介紹

    溫度傳感器 LM35介紹 在自動(dòng)控制、機(jī)電整合的應(yīng)用,溫度的測量為
    發(fā)表于 12-02 10:28 ?2.9w次閱讀

    功率計(jì)量芯片HLW8012介紹及應(yīng)用

    功率計(jì)量芯片HLW8012介紹及應(yīng)用 簡單易用 使用方便 程序簡單
    發(fā)表于 11-20 16:28 ?127次下載

    CP5612介紹安裝調(diào)試驅(qū)動(dòng)說明

    CP5612介紹安裝調(diào)試驅(qū)動(dòng)說明~~~~~~~~~~~~~~~
    發(fā)表于 06-08 15:13 ?9次下載

    MultiSIM9介紹和虛擬儀器使用

    MultiSIM9介紹和虛擬儀器使用
    發(fā)表于 03-28 10:20 ?3次下載

    IAR for STM8介紹、 下載、安裝與注冊

    IAR for STM8介紹、下載、安裝與注冊
    的頭像 發(fā)表于 03-20 11:42 ?4611次閱讀
    IAR for STM8<b class='flag-5'>介紹</b>、 下載、安裝與注冊

    UVM TLM的基本概念介紹

    UVM,transaction 是一個(gè)類對象,它包含了建模兩個(gè)驗(yàn)證組件之間的通信所需的任何信息。
    的頭像 發(fā)表于 05-24 09:17 ?1702次閱讀
    <b class='flag-5'>UVM</b> <b class='flag-5'>TLM</b>的基本概念<b class='flag-5'>介紹</b>

    UVM Transaction-Level驗(yàn)證組件

    如下圖所示,UVMTLM接口為組件之間Transaction的發(fā)送和接收提供了一套統(tǒng)一的通信方法。
    的頭像 發(fā)表于 05-29 09:31 ?609次閱讀
    <b class='flag-5'>UVM</b> Transaction-Level驗(yàn)證組件

    數(shù)字IC驗(yàn)證之基本的TLM通信

    提高驗(yàn)證生產(chǎn)力的關(guān)鍵之一就是在合適的**抽象層次**思考問題和完成驗(yàn)證工作,為此UVM提供了 **事務(wù)級別(transaction level)** 的通信接口 **(Transaction-Level Modeling,TLM
    發(fā)表于 06-25 11:42 ?509次閱讀
    數(shù)字IC驗(yàn)證之基本的<b class='flag-5'>TLM</b><b class='flag-5'>通信</b>

    STM32U5介紹

    電子發(fā)燒友網(wǎng)站提供《STM32U5介紹.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 15:06 ?0次下載
    STM32U5<b class='flag-5'>介紹</b>

    M7介紹_20210615

    電子發(fā)燒友網(wǎng)站提供《M7介紹_20210615.pdf》資料免費(fèi)下載
    發(fā)表于 08-31 16:06 ?6次下載