1、linux下SystemC安裝
最近在學習SystemC,這是一門系統級建模語言。其在C++的基礎上擴展,使C++具有並發特性(硬件工作都是並發的),簡單的說SystemC就是C++的一個類庫。
SystemC源碼是開源的,只要任何支持C++的編譯器,都可以對其編譯。下面簡單介紹一下其安裝過程:
linux下源碼安裝的過程大都是這樣:1、./configure ;2、make ;3、 make install;SystemC也不例外。將下載的源碼解壓到文件夾如:/home/user/DirA;user代表你的用戶名,DirA表示你創建的某個目錄;
1 cd /home/user/DirA 2 3 ./configure -prefix=INSTALL_DIR //用-prefix=指定要安裝到的目錄路徑,此路徑必須已經存在; 4 5 make 6 7 make install基本就可以了,我是在虛擬機下的小紅帽,我的安裝遇到一些小的錯誤,主要是example沒有安裝進去,docs也沒有,但類庫都已經安裝好了;
執行 make check 檢查安裝是否成功,make check 成功就沒問題了,我的是成功狀態。
最後的安裝目錄如下:
2、VC6++/VS2010 SystemC使用
前面說過,SystemC實際上是一個C++類庫,因此,VC或者VS下使用SystemC就是外部庫的使用。
庫編譯:下載解壓後的systemc-version下有msvc60等目錄,下面有工程文件,直接可以打開編譯即可得到SystemC的庫。
新建工程;
庫添加:
1)項目右鍵-屬性-配置屬性-連接器-常規:添加附件庫目錄
2)項目右鍵-屬性-配置屬性-連接器-輸入:添加庫
3)項目右鍵-屬性-配置屬性-C/C++-常規:添加頭文件所在目錄
編寫sc_hello.cpp代碼如下並添加到工程:
1 // sc_helloworld.cpp : 定義控制台應用程序的入口點。 2 // 3 4 #include "systemc.h" 5 SC_MODULE(hello) 6 { 7 sc_in<bool> clock; 8 void run() 9 { 10 cout << "@"<<sc_simulation_time<<" hello world" <<endl; 11 } 12 13 SC_CTOR(hello) 14 { 15 SC_METHOD(run); 16 sensitive<<clock.pos(); 17 } 18 }; 19 20 int sc_main(int argc, char* argv[]) 21 { 22 sc_clock clk("clock",20,SC_NS); 23 hello h("hello"); 24 h.clock(clk); 25 sc_start(200,SC_NS); 26 system("pause"); 27 return 0; 28 }得到結果如下: