顯示廣告
隱藏 ✕
看板 NTU_Lab_DISP
作者 dog(蠢什麼)
標題 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
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇