《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 如何在SoC設(shè)計(jì)中使用事務(wù)處理(二)
如何在SoC設(shè)計(jì)中使用事務(wù)處理(二)
摘要: 建模、驗(yàn)證與調(diào)試需要統(tǒng)一標(biāo)準(zhǔn)的符號(hào)和框架,以便使架構(gòu)師和設(shè)計(jì)工程師能夠協(xié)同進(jìn)行復(fù)雜SoC的開發(fā)。事務(wù)處理級(jí)模型(TLM)是進(jìn)行這種分析的理想模型,在片上系統(tǒng)(SoC)設(shè)計(jì)中使用事務(wù)處理級(jí)建模,可讓設(shè)計(jì)
Abstract:
Key words :
    建模、驗(yàn)證與調(diào)試需要統(tǒng)一標(biāo)準(zhǔn)的符號(hào)和框架,以便使架構(gòu)師和設(shè)計(jì)工程師能夠協(xié)同進(jìn)行復(fù)雜SoC的開發(fā)。事務(wù)處理級(jí)模型(TLM)是進(jìn)行這種分析的理想模型,在片上系統(tǒng)(SoC)設(shè)計(jì)中使用事務(wù)處理級(jí)建模,可讓設(shè)計(jì)從高效率協(xié)同仿真和高產(chǎn)出的分析與調(diào)試中受益。

    下面是對(duì)圖2所示的事務(wù)處理進(jìn)行建模的一個(gè)簡單代碼段。這個(gè)類的旨在于將事務(wù)處理數(shù)據(jù)記錄到作為trans_db instance dump_file類的事務(wù)處理數(shù)據(jù)庫中。輸出被顯示在圖3最右部分。

// Inside program or some other OpenVera context

trans_db dump_file;

trans_stream stream1;

trans_type mem_read;

trans_handle h1;

// open a database file

dump_file=new("test");

// create the memory stream under the test.duv.bus scope

stream1=new(dump_file, "test.duv.bus", "memory");

// create the read transaction type in the memory stream

mem_read=new(stream1, "Read");

// define 2 attributes in the read transaction type

mem_read.create_attr("Addr", INTEGER_DT);

mem_read.create_attr("Data", INTEGER_DT);

delay(10);

// begin a memory read transaction at 10

h1=mem_read.begin_now();

h1.log_integer_attr("Addr", 170);

h1.log_integer_attr("Data", 123);

delay(20);

// end h1 transaction at 20

h1.end_now();

// close the database file

dump_file.close();

 

當(dāng) 然,正如前面針對(duì)SCV所提到的,另一個(gè)有用的類是trans_relation,它負(fù)責(zé)不同事務(wù)處理之間的關(guān)系。下面的代碼段顯示出當(dāng) trans_relation為單向時(shí),類是被怎樣運(yùn)用的。一個(gè)分析與可視化工具也可以具備預(yù)先定義的關(guān)系以便獲得對(duì)分析和顯示的特定表示。

trans_relation r1;

trans_relation r2;

trans_handle h1;

trans_handle h2;

r1=new(f, "parent");

r2=new(f, "child");

...h1.add_relation(r1, h2); // h2 is the parent of h1

h2.add_relation(r2, h1); // h1 is the child of h2

    為實(shí)現(xiàn)記錄,類必須封裝事務(wù)處理追蹤和記錄API,使數(shù)據(jù)庫記錄細(xì)節(jié)對(duì)用戶而言不可見。API必須是開放的,以便在工程師和供應(yīng)商等人之間培養(yǎng)出一種公共增 值文化。在創(chuàng)建、生成和記錄事務(wù)處理時(shí),它也必須經(jīng)受得起跨語言應(yīng)用的檢驗(yàn),從而給設(shè)計(jì)工程師一個(gè)高價(jià)值工具。而且它必須簡單、基本,但是要足夠?qū)挿阂员?覆蓋事務(wù)處理記錄的基本要素。為獲得某些(特定建模語言)具體功能,可以另外在封裝之上再建立API。

    程序員們開發(fā)出了一種被為“開放的 事務(wù)處理接口(OTI)”的API。這是在Novas公司的FSDB writer層之上構(gòu)建的一層。該API用C語言編寫以獲得高可便攜性。事實(shí)上前面列出的那些類都是OpenVera事務(wù)處理類函數(shù)庫的一部分。它們構(gòu)成 了對(duì)OTI的封裝并且利用DirectC與OpenVera接口。用戶可以從任何地方利用DirectC編碼直接調(diào)用OTI。但總的來說,提供一個(gè)將建模 語言的接口要求隱藏起來的OTI封裝是一個(gè)好主意,這樣用戶就可以專注于建模而忽略數(shù)據(jù)庫記錄的細(xì)節(jié)。


 

與OTI相似的APIs可以很容易 地使設(shè)計(jì)工程師能夠采用能與C語言接口的語言來開發(fā)并記錄事務(wù)處理數(shù)據(jù)。這包括其它流行的硬件驗(yàn)證語言,例如e語言。事實(shí)上,通過恰當(dāng)?shù)姆庋b系統(tǒng)任務(wù)以及 軟件C/C++代碼,API也可以在硬件描述語言中使用以直接將事務(wù)處理數(shù)據(jù)從實(shí)現(xiàn)中卸載出去。圖4是一個(gè)帶有所有這些模塊的系統(tǒng)。

     SystemVerilog(3.1a版)(www.systemverilog.org) 是新型的設(shè)計(jì)建模與測試臺(tái)語言。它目前沒有如SystemC里的內(nèi)置事務(wù)處理類別,但是它存在的目的就是將Verilo電路和寄存器數(shù)據(jù)抽象化并封裝至更 有意義的分組數(shù)據(jù)中。這使得我們有必要看看如何才能建模然后記錄事務(wù)處理數(shù)據(jù)。事實(shí)上,可以采用多種方法在SystemVerilog實(shí)現(xiàn)這一點(diǎn):a)等 待增添內(nèi)置類的標(biāo)準(zhǔn)化努力。這也許會(huì)最終發(fā)生,不過SystemVerilog今天就可以達(dá)到這一目的。因此何必還要等待概念產(chǎn)生然后再期待供應(yīng)商去支持 它呢?b)創(chuàng)建你自己的事務(wù)處理類和方法(任務(wù)和功能),然后也許再將其作為一個(gè)可分享的函數(shù)庫捐贈(zèng)給業(yè)界。c)透過直接編程接口(DPI)或編程語言接 口來與SystemC集成。d)在建模過程中調(diào)用“系統(tǒng)任務(wù)”在恰當(dāng)?shù)牡胤酵瓿伞?/p>

    我們認(rèn)為選項(xiàng)(d)是設(shè)計(jì)工程師的一個(gè)很好的出發(fā)點(diǎn)。它囊括了眾多的接口要求并且以一種簡單、直接而且相當(dāng)彈性的方式完成任務(wù)。設(shè)計(jì)工程師們可以透過編程語言接口,或者最好透過直接編程接口(DPI)來調(diào)用SystemVerilog “任務(wù)”或C/C++例行程序。就像DirectC一樣,DPI這種機(jī)制是被設(shè)計(jì)用于簡單地與用C或C++語言編寫的外部無時(shí)序模塊進(jìn)行接口。

    因此這就產(chǎn)生了兩個(gè)問題。事務(wù)處理對(duì)象是什么?設(shè)計(jì)工程師們?cè)撛鯓觿?chuàng)建/生成/記錄事務(wù)處理并開發(fā)API?同樣,我們的答案就是API工具,如圖3所示的OTI。它可隱藏執(zhí)行細(xì)節(jié)并且為事務(wù)處理記錄提供一個(gè)健全而完整的基礎(chǔ)。

需要更多的自動(dòng)化

    到目前為止所討論的事務(wù)處理記錄是相當(dāng)有用、高效的。可是實(shí)際上它仍然是人工的,更確切地說,用戶必須執(zhí)行事務(wù)處理建模并求助于數(shù)據(jù)庫記錄。隨著標(biāo)準(zhǔn)越來越成熟以及工具供應(yīng)商聯(lián)合起來,業(yè)界構(gòu)可以開發(fā)額外的自動(dòng)化生成和記錄工具。例如,用戶已經(jīng)可以在Vera RVM中(同樣的,在e語言中)用事務(wù)處理類生成事務(wù)處理。因此,即將到來的自動(dòng)化將在創(chuàng)建時(shí)使用這些回叫工具,這樣用戶就用不著擔(dān)心為事務(wù)處理分開建模了。他們可以擴(kuò)展所提供的基本類,并自動(dòng)獲得所需的記錄功能。

    另外,我們發(fā)現(xiàn)SoC通常含有許多模塊,包括專利IP,用于設(shè)計(jì)與驗(yàn)證的建模語言也相當(dāng)?shù)亩?如圖3所示)。因此,一個(gè)完整的SoC就形成一個(gè)難以破解的數(shù) 據(jù)集合。在這種情況下,如果工程師采用某種方法將事務(wù)處理從可獲得的數(shù)據(jù)里提取出來,從而更好地理解系統(tǒng)運(yùn)行的話就再好不過了。建模、驗(yàn)證與調(diào)試需要統(tǒng)一 標(biāo)準(zhǔn)的符號(hào)和框架,以便架構(gòu)師和設(shè)計(jì)工程師合力進(jìn)行復(fù)雜SoC的設(shè)計(jì)與開發(fā)。TLM是進(jìn)行這種分析的理想模型。設(shè)計(jì)工程師們應(yīng)該更加深入地研究事務(wù)處理級(jí) 建模的細(xì)節(jié),并利用事務(wù)處理級(jí)建模從高效率協(xié)同仿真和高產(chǎn)出的分析與調(diào)試中獲得最大好處。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲一区亚洲| 美腿丝袜亚洲色图| 亚洲免费观看高清在线观看| 欧美一级淫片播放口| 亚洲视频一二| 一区二区三区精品在线 | 一区二区三区.www| 亚洲毛片在线观看.| 亚洲区免费影片| 亚洲精品免费在线| 亚洲久久视频| 99爱精品视频| 一区二区三区色| 一本一本大道香蕉久在线精品| 99视频精品在线| 一区二区三区高清在线| 在线综合亚洲| 亚洲永久免费精品| 亚洲自拍啪啪| 欧美一区二区三区男人的天堂| 午夜久久一区| 久久精品视频在线| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美区一区二区三区| 欧美日本精品| 国产精品电影观看| 国产欧美日韩不卡| 国内精品**久久毛片app| 伊人狠狠色j香婷婷综合| 亚洲第一精品在线| 亚洲茄子视频| 亚洲视频福利| 午夜综合激情| 久久精品国产一区二区电影| 亚洲二区视频| 日韩天堂在线视频| 亚洲一区二区三区四区五区黄| 欧美一区成人| 久久手机精品视频| 欧美v日韩v国产v| 欧美日韩精品免费观看视频完整| 国产精品久久久久久久久久久久| 国产欧美日韩| 亚洲国产成人久久综合一区| 一级成人国产| 欧美一区午夜精品| 亚洲精品视频免费| 亚洲一区尤物| 久久久欧美精品| 欧美日韩国产成人| 国产欧美日韩中文字幕在线| 国产一区二区三区视频在线观看 | 亚洲日本激情| 亚洲性夜色噜噜噜7777| 欧美专区在线播放| 一区二区三区国产精华| 午夜日韩视频| 欧美1区免费| 国产精品高潮呻吟久久av黑人 | 亚洲大胆av| 一本一本久久a久久精品综合麻豆| 亚洲综合首页| 亚洲伦理久久| 欧美一区国产一区| 欧美激情第4页| 国产精品日韩久久久久| 亚洲国产精品久久久久秋霞蜜臀| 在线视频精品一| 久久aⅴ乱码一区二区三区| 亚洲精品一区二区三区在线观看| 亚洲女女女同性video| 免费视频亚洲| 国产精品最新自拍| 亚洲人成在线观看一区二区| 午夜久久一区| 亚洲一区二区免费在线| 六月婷婷一区| 国产精品尤物| 欧美日韩精品| 黑人一区二区| 亚洲素人在线| 99精品国产高清一区二区| 欧美中文在线视频| 欧美人与禽猛交乱配视频| 国内精品久久久久久影视8 | 激情五月综合色婷婷一区二区| 最新亚洲一区| 久久福利影视| 亚洲欧美激情视频在线观看一区二区三区 | 久久―日本道色综合久久| 国产精品成人aaaaa网站| 亚洲第一在线综合网站| 亚洲欧美综合| 午夜精彩视频在线观看不卡 | 国产精品久久久久久久久久尿| 亚洲国产精品va在线观看黑人 | 亚洲国产欧美国产综合一区| 欧美一区91| 国产精品国产亚洲精品看不卡15| 亚洲国产精品福利| 久久精品国产一区二区三区| 欧美一区二区在线播放| 欧美视频在线观看| 日韩亚洲一区二区| 亚洲精品专区| 久久视频这里只有精品| 国产日韩精品电影| 亚洲一区区二区| 亚洲欧美国产日韩天堂区| 欧美日韩亚洲另类| 亚洲三级影片| 日韩视频精品| 欧美精品一区二区高清在线观看| 亚洲国产精品久久久久久女王| 亚洲高清视频中文字幕| 久久视频精品在线| 好吊视频一区二区三区四区| 欧美一区二区高清在线观看| 欧美一区二区在线| 国产日韩欧美在线| 香蕉久久夜色| 久久久久久久欧美精品| 国产一区久久久| 亚洲第一色中文字幕| 香蕉成人伊视频在线观看| 欧美婷婷久久| 91久久极品少妇xxxxⅹ软件| 亚洲人成久久| 欧美精品日日鲁夜夜添| 亚洲精品在线观看视频| 中国成人在线视频| 欧美午夜精品久久久久久久| 一区二区三区欧美亚洲| 亚洲欧美日韩精品久久亚洲区| 国产精品稀缺呦系列在线| 亚洲欧美日韩国产综合| 久久国产精品一区二区三区四区| 国产一区二区主播在线| 亚洲国产老妈| 欧美日韩人人澡狠狠躁视频| 亚洲无限乱码一二三四麻| 久久国产精品久久国产精品| 黄色欧美成人| 夜久久久久久| 国产精品美女久久| 欧美一级在线视频| 欧美成人免费va影院高清| 亚洲精品免费在线观看| 亚洲欧美国产一区二区三区| 国产亚洲精品高潮| 亚洲国产综合在线看不卡| 欧美日韩国产精品| 亚洲综合第一| 免费观看日韩av| 一本久久综合| 久久久精品国产免大香伊| 亚洲福利久久| 亚洲在线视频一区| 国模精品一区二区三区| 日韩午夜视频在线观看| 国产精品久久久91| 亚洲电影在线看| 欧美性jizz18性欧美| 久久国产精品亚洲77777| 欧美日韩p片| 欧美亚洲综合在线| 欧美精品日韩| 欧美伊人影院| 欧美日韩免费| 久久精品理论片| 欧美性生交xxxxx久久久| 欧美在线观看视频| 欧美日韩一二区| 亚洲国产黄色| 国产精品你懂的在线| 亚洲欧洲偷拍精品| 国产精品男女猛烈高潮激情 | 亚洲福利免费| 欧美一区二区三区精品电影| 亚洲福利视频专区| 欧美伊人影院| 亚洲精品久久视频| 久久九九99视频| 一本久久a久久免费精品不卡| 久久在线免费观看| 亚洲一区二区三区视频| 欧美国产日韩一区| 欧美一区亚洲| 国产精品草莓在线免费观看| 亚洲精品久久久久久久久久久久久| 国产精品永久免费视频| 在线中文字幕日韩| 一区在线播放| 欧美影院精品一区| 99视频在线观看一区三区| 免费毛片一区二区三区久久久| 亚洲欧美日本国产专区一区| 欧美日韩一区二区视频在线| 亚洲日本中文字幕| 国内精品嫩模av私拍在线观看|