一、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学习资源
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
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格式文件(没用过?)
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!!
文章评论(0条评论)
登录后参与讨论