SystemC中的事件
在SystemC中,事件提供了一個(gè)底層的處理程序間同步及重新啟動(dòng)的方式,它能用來(lái)實(shí)現(xiàn)通道的功能,定義事件的語(yǔ)法如下:
sc_event event_name;
另外,要觸發(fā)或引起一個(gè)事件,要使用通知函數(shù)notify(
),語(yǔ)法如下:
event_name.notify(參數(shù)); 或 notify(參數(shù),event_name);
SystemC中的數(shù)據(jù)類型
作為C++語(yǔ)言的擴(kuò)展,SystemC支持所有C++的數(shù)據(jù)類型,包括long、int、short、char、unsigned
long、unsigned int、unsigned short、unsigned char、float、double、long double和bool。另外,也能根據(jù)需求自行定義數(shù)據(jù)類型。
此外,SystemC還新增描述硬件的數(shù)據(jù)類型,這些類型都以sc_開頭,這些數(shù)據(jù)類型包括sc_bit、sc_logic、sc_int、sc_uint、sc_bigint、sc_biuint、sc_bv、sc_lv、sc_fixed、sc_ufixed、sc_fix、sc_ufix。各個(gè)數(shù)據(jù)類型的說(shuō)明如表4-4所示。
在這里插入圖片描述
SystemC中的定時(shí)
為了能夠?qū)崿F(xiàn)描述電路的行為,SystemC增加了對(duì)時(shí)鐘的支持。在SystemC的庫(kù)中,定義了兩個(gè)特殊的對(duì)象:sc_time類和sc_clock類。
這兩個(gè)對(duì)象在SystemC庫(kù)中定義的時(shí)候分別都有不同的構(gòu)造函數(shù),因此用戶可以根據(jù)不同的需要定義自己的時(shí)鐘模型。在SystemC中,支持的時(shí)間單位包括SC_FS、SC_PS、SC_NS、SC_US、SC_MS和SC_SEC,它們分別表示不同的時(shí)間精度。下面是定義一個(gè)時(shí)鐘的例子,用來(lái)簡(jiǎn)單說(shuō)明SystemC中定時(shí)的概念。
如果要產(chǎn)生一個(gè)周期為10ns的時(shí)鐘信號(hào),可以這樣實(shí)現(xiàn):
sc_time time(10,SC_NS);
sc_clock clk("clk",time);
也可以這樣定義一個(gè)完整的時(shí)鐘(包含占空比、開始時(shí)間、初始邏輯等參數(shù)):
sc_clock clk("clk",10,SC_NS,0.5,5,SC_NS,false);
這個(gè)時(shí)鐘周期為10ns,占空比(高電平持續(xù)時(shí)間與時(shí)鐘周期的比)為0.5(0.5∶1),時(shí)鐘初始第一邏輯值的保持時(shí)間是5ns,第一個(gè)邏輯值是高電平(false)。
另一個(gè)和時(shí)間概念相關(guān)的是wait(
)函數(shù)。wait( )函數(shù)可以用來(lái)描述系統(tǒng)的等待時(shí)間。例如,在一個(gè)進(jìn)程中wait(10,SC_NS)表示進(jìn)程在等待10ns后被激活。
-
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1891瀏覽量
133023 -
ESL
+關(guān)注
關(guān)注
1文章
76瀏覽量
21675 -
systemc
+關(guān)注
關(guān)注
2文章
26瀏覽量
14732
發(fā)布評(píng)論請(qǐng)先 登錄
GaussDB 數(shù)據(jù)類型介紹

1.2FreeRTOS中的數(shù)據(jù)類型
51單片機(jī)中的數(shù)據(jù)類型解析

vhdl數(shù)據(jù)類型
編程語(yǔ)言SCL中ANY數(shù)據(jù)類型

重視變量的數(shù)據(jù)類型

Struct結(jié)構(gòu)數(shù)據(jù)類型
結(jié)構(gòu)數(shù)據(jù)類型(Struct)及應(yīng)用案例
什么是數(shù)據(jù)類型轉(zhuǎn)換
定義數(shù)據(jù)類型
ARRAY 數(shù)據(jù)類型的變量
F型PLC數(shù)據(jù)類型與標(biāo)準(zhǔn)PLC數(shù)據(jù)類型(UDT)之間的差別在哪?

評(píng)論