新聞中心

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

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

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

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

本文引用地址:http://www.2s4d.com/article/148679.htm

下面是對(duì)圖2所示的進(jìn)行建模的一個(gè)簡(jiǎn)單代碼段。這個(gè)類(lèi)的旨在于將事務(wù)處理數(shù)據(jù)記錄到作為trans_db instance dump_file類(lèi)的事務(wù)處理數(shù)據(jù)庫(kù)中。輸出被顯示在圖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();


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉