新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 如何在SoC設(shè)計中使用事務(wù)處理(二)

如何在SoC設(shè)計中使用事務(wù)處理(二)

作者: 時間:2012-08-01 來源:網(wǎng)絡(luò) 收藏

建模、驗證與調(diào)試需要統(tǒng)一標(biāo)準(zhǔn)的符號和框架,以便使架構(gòu)師和工程師能夠協(xié)同進(jìn)行復(fù)雜的開發(fā)。級模型(TLM)是進(jìn)行這種分析的理想模型,在片上系統(tǒng)()級建模,可讓從高效率協(xié)同仿真和高產(chǎn)出的分析與調(diào)試中受益。

本文引用地址:http://m.butianyuan.cn/article/148679.htm

下面是對圖2所示的進(jìn)行建模的一個簡單代碼段。這個類的旨在于將事務(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();


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉