看板 NTU_Lab_DISP
作者 標題 SystemC v.s System Verilog
時間 2008年04月28日 Mon. PM 01:26:10
zz from "中電網專業技術論壇--FPGA-CPLD
一、SystemC的好處和歷史
1.
ModelSim下用SystemC做設計驗證方法與示例:
SystemC作為一種系統級設計與驗證語言,非常適合做複雜IC的驗證,而不是用於RTL描述。
很多人問我如何將SystemC綜合和編譯為可以下載的CPLD/FPGA的比特檔或者綜合為ASIC網表
,我的回答是用SystemC做RTL設計還為時過早。
可以想像將來可能將SystemC的行為級的描述綜合為網表,即所謂高層次綜合,這是一個很
美好的未來,但未來不是現在。Verilog/SystemVerilog依然是最好的RTL設計語言,未來的
RTL設計屬於SystemVerilog。關於SystemC和SystemVerilog在設計中的地位問題,我認為在
驗證方面,SystemC有明顯的優勢。如果你設計純粹的ASIC,那麼用SystemVerilog可能就足
夠了。但是在很多場合,軟硬體同時存在,SystemC的代碼很多部分可以直接用於設計軟體
,這個是很明顯的優勢。
大家同時也可以看到,現在在ModelSim等仿真軟體中,SystemC使用起來跟Verilog/VHDL一樣
,非常方便。舉一個例子,我們假如想做DVB-S2的LDPC,我們一定會先用C++(M atlab也可
以)寫仿真程式,驗證演算法的正確性。然後假設我們已經確定了目標ASIC的架構,打算用
Verilog做RTL設計。
現在既然C++代碼的驗證部分可以幾乎不加改變的用於基於SystemC的驗證模組的設計,我們
為什麼還要費力的用SystemVerilog重新寫一遍驗證代碼呢?
Modelsim中,測試模組module_test可以用systemC編寫,注意使用export module,讓其他語
言可見該模組
這樣就可以用systemC編寫測試模組test.h、test.cpp,然後在tb.v中調用test。
in a word,systemC可以同verilog進行介面。
2. systemC可以方便的和matlab進行介面(例子在《systemc片上系統設計》第九章》
(還沒有試驗過?)
運用Matlab進行systemc模組的驗證:
a. 將matlab作為systemc驗證程式的計算引擎,在systemc中直接調用、運行和關閉
matlab,matlab的命令和函數在systemc的環境中運行;
b. 將matlab作為驗證IO,matlab和systemc驗證程式獨立的運行,通過mat檔交換資料。
3. 開放性和廣泛的支持, C++的人可以很容易掌握。
抽象描述能力:在系統級和交易級建模的最佳語言,同時很好地支援寄存器傳輸級設計和驗證;
仿真速度:systemc描述的系統是可執行的檔,仿真速度遠遠大於逐行解釋的硬體描述語言。
二、SystemC學習資源
1. systemc的官方網站 www.systemc.org
pdf:
OSCI. SystemC User Guide.
OSCI. SystemC Functional Specification.
OSCI.SystemC Language Reference Manual.
libraray:
Core SystemC Language and Examples update to 2.2 (2006.7)
Master Slave Library
SCV - SystemC Verification Library
Synthesizable_Subset
TLM_Transaction_Level_Modeling_Library
2. 周祖成systemc課件,還包含systemc core library 2.0.1 ftp://59.66.122.77
3. 《SystemC片上系統設計》 陳曦、徐寧儀 2003.10
4. download的一些pdf,html
ieee standard for systemc 1666-2005.pdf from ieee.org
5. IEEE上關於SystemC的文章 from ieee.org (?)
6. example @ systemc core library (good example for junior)
src of the book 《片上系統》
三、開發環境
SystemC開發工具已經覆蓋系統設計到RTL設計、綜合到驗證的全部積體電路設計前端。
1. visual C++ 6.0 or 7.1 編譯systemC設計
systemC程式生成波形檔vcd;
利用modelsim查看波形檔(vcd2wlf *.vcd *.wlf; open *.wlf)。
(微機版推薦使用)
2. modelsim 6.0d 直接編譯modelsim (不大好用,有時候編譯有問題?)
3. linux下運用gcc編譯,modelsim查看波形(但rhel as 3 x86_64不相容?)
4. SystemC_win編譯和仿真systemc,可直接看波形,集成度高(沒用過?)
5. 若用visual C編譯,可以用免費波形察看工具 WaveViewer,可直接察看vcd格式檔(沒用過?)
搜索方法 keyword:vcd viewer@google
6. 綜合工具
7. others
AccurateC --SystemC語法和設計規則檢查 ?
A|RT Builder--SystemC到HDL的轉換 ?
MaxSim--SOC建模和驗證工具 ?
NC-SystemC--模擬器 ?
Cynthesizer/SystemC Compiler--SystemC綜合器 ?
Synopsys和XILINX聯合開發Virtex II FPGA的系統設計工具,本質上等於CCSS+FPGA Compiler II+現有FPGA 佈局佈線工具 ?
Visual Elite/SPW4.8/Cocentric System Studio/C-Bridge…… ?
四、已學習的內容
1. 寄存器傳輸級systemC設計
2. systemc與傳統硬體描述語言
五、待學習的內容
1. 書上
system C基本語法
systemc行為建模
master-slave通信庫
tlm設計實例--片上匯流排
基於systemc的驗證方法學
systemc與matlab通信
2. example 的細節
this is important!!
--
※ 來源: 台大電信 DISP 實驗室 (http://disp.twbbs.org)
※ 作者: dog 來自: 140.112.175.132 時間: 2008-04-28 13:26:10
※ 編輯: dog 來自: 140.112.175.132 時間: 2008-04-28 13:30:54
※ 看板: NTU_Lab_DISP 文章推薦值: 0 目前人氣: 0 累積人氣: 1961
→
guest
回列表(←)
分享