原创 Modelsim协同SystemC仿真

2008-12-26 20:06 4221 2 7 分类: FPGA/CPLD


zip

最近工作日渐清闲,有时间和精力学习SystemC了,其实网络上有很多比较SystemCSystemVerilog之间哪个好的争论,我也有选择的 苦恼,但是最终选择SystemC,因为大学里学过C++,还有就是本身自己设计中都是应用VHDL,很少涉及Verilog,所以选择了她;具体以后有 深入的了解SystemC后,再说她的优点。



本文的实例来自网络上的文档,以下是链接:



http://www.dzkf.cn/html/EDAjishu/2007/0119/1439.html



新建Modesim工程,sctest.mpf,并导入如下四个文件:



shifter_test.cpp



shifter_test.h



shifter.v



tb.v



Transcript窗口分别输入如下命令:



sccom -g *.cpp



#打印信息:



#



# Model Technology ModelSim SE sccom 6.4b compiler 2008.11 Nov 14
2008



#



# In file included from shifter_test.cpp:1:



# shifter_test.h:71:7: warning: no newline at end of file



# shifter_test.cpp:2:32: warning: no newline at end of file



#



# Exported modules:



#     shifter_test



sccom –link



#打印信息:



#



# Model Technology ModelSim SE sccom 6.4b compiler 2008.11 Nov 14
2008



vlog *.v



#打印信息:



# Model Technology ModelSim SE vlog 6.4b Compiler 2008.11 Nov 14
2008



# -- Compiling module shifter



# -- Compiling module tb



#



# Top level modules:



#     tb



vsim tb



#打印信息:



# vsim tb



# ** Note: (vsim-3812) Design is being optimized...



# Loading work.tb(fast)



# Loading G:\systemc_develop\sctest\work\_sc\win32_gcc-3.3.1\systemc.so



# Loading G:\systemc_develop\sctest\work.shifter_test



# Note: Unable to load profiler symbols



G:\systemc_develop\sctest\work\_sc\win32_gcc-3.3.1\systemc.so.nm



然后,我们就选择需要观察的信号,仿真它们的波形。



注意:在利用Modesim仿真SystemC之前,需要下载modelsim-gcc-3.3.1-mingw32.zip,以下是该压缩包的链接地址:



http://nukeuploads.com/download/1226175659/PG2DMVDDOR77LC2/modelsim-gcc-3.3.1-mingw32.zip.html 



将压缩包直接解压在Modesim的安装路径下,就可以编译SystemC代码了。



遗留问题:经过测试发现,如果仿真的时间设置过长,Modesim会直接退出,个人认为是,当SystemCTestbench仿真时间比你在Modesim设置的仿真时间要短,程序结束后Modesim会自动退出,目前还找不到方法解决。



广告

文章评论 5条评论)

登录后参与讨论

dongbei06_409353400 2016-5-12 23:22

谢谢鼓励!

2005jiangxu_694877046 2016-4-20 10:32

好文,学习了,感谢分享!

yung2002 2009-9-13 02:16

关于帖子中的遗留问题: 将shifter_test.h中的assert(false)删掉后modelsim不会再自动退出。 现在的问题是,assersion报出的失败信息会导致仿真器退出看起来有点怪怪的,理想中发生的现象是仿真器停止运行并给出失败提示才对。

shijin330_417441176 2009-9-2 16:30

我也没有尝试过,SystemC只是一个库,和编译器没有直接关系,应该都是可以的。

yung2002 2009-8-30 22:11

GCC压缩包找起来很不容易,mingw.org上download链接到sourceforge.net,上面有很多GCC版本,位置在https://sourceforge.net/projects/mingw/files/,唯独没有modelsim-gcc-3.3.1-mingw32.zip,请教一下楼主其他版本是否可用?比如gcc-4.4.0-mingw32-src-2.tar.gz。 不胜感激!

shijin330_417441176 2009-5-27 22:42

可以跑的,mingw是一个开源项目,可以www.mingw.org上下载。

coyoo 2009-5-22 16:51

你给的这个例子跑不起来嘛? 另外,GCC的压缩包下载链接不可用了。
相关推荐阅读
shijin330_417441176 2015-12-20 21:29
在Emacs中应用Ctags
适宜人群 具备Emacs使用经验的程序员 什么是Tag? Tag,即标记,记录了程序重要信息(如函数、变量、宏定义等)的位置和相应的文件,方便程序浏览器进行跳转。 ...
shijin330_417441176 2015-12-13 22:23
可综合的SystemVerilog:命名空间
关键名词解释: 编译单元(compilation unit):SystemVerilog 源代码的集合 编译单元域(compilation-unit scope):即编...
shijin330_417441176 2015-12-13 22:15
可综合的SystemVerilog:参数化函数/任务
在Verilog中,参数化模块被广泛应用。参数可重新定义保证模块的可配置性及可复用性。但是,函数及任务并无法像模块一样被参数化,减弱了Verilog的描述化能力。 SystemVer...
shijin330_417441176 2010-10-28 11:34
基于SOPC下RapidIO调试方法
RapidIO的一个难点在于地址转换方法,即将远端的Memory映射到当前Avalon-MM总线,所以地址需要一个转换过程——Local Avalon-MM<->RapidIO Addr&...
shijin330_417441176 2010-08-24 14:22
西行重庆
八月初时离开生活并工作四年的深圳,来到求学四年的重庆。已经过去三周时间,对自己的将来也随之变的不可琢磨。重庆的生活水平并不如想象的低,除了房价不像沿海城市高企,其他诸如公共交通,生活日常用品基本都是一...
shijin330_417441176 2010-07-07 18:05
Tcl用后感
                    Tcl用后感 (by Wind330)    Tcl - Tool Command Language近期做了一个Tcl脚本用于Modelsim仿真,完成如下功能...
广告
我要评论
5
2
广告
关闭 热点推荐上一条 /2 下一条