主要内容

  • 如何安装SystemC
  • SystemC风格的hello worl
  • 如何编译SystemC下的hello world

1. 如何安装SystemC

SystemC是一组C++库,可以从下面这个网址进行下载。

https://accellera.org/downloads/standards/systemc

SystemC下有几个组件:

  1. SystemC 2.3.3 (Includes TLM)
  2. SystemC AMS 2.3
  3. SystemC CCI 1.0
  4. SystemC Verification 2.0.1
  5. SystemC Synthesis 1.4.7
    下载第一个下的 Core SystemC Language and Examples (tar.gz)包即可,然后编译源代码,安装system c组件到/usr/local/systemc-2.3.3目录下。
tar -xvzf systemc-2.3.3.tar.gz
cd systemc-2.3.3
mkdir build
cd build
../configure --prefix=/usr/local/systemc-2.3.3
make
make install

2. SystemC风格的Hello World

创建一个工作目录,mysysc,然后编辑一个hello.cpp

#include "systemc.h"SC_MODULE(hello_world){SC_CTOR(hello_world){}void say(){cout<<"hello world"<<endl;}
};int sc_main(){hello_world inst0("instance 0");inst0.say();return 0;
}

3. 如何编译Hello World

在之前解压缩的目录中或者在/usr/local/systemc-2.3.3的目录中,有example目录,其中有一个build-unix目录。

3.1 将其中的两个文件移动到工作目录mysysc

此刻,工作目录下有三个文件

  • Makefile.config
  • Makefile.rules
  • hello.cpp

3.2 创建一个Makefile

内容如下

include Makefile.configPROJECT := hello
SRCS    := $(wildcard *.cpp)
OBJS    := $(SRCS:.cpp=.o)include Makefile.rules

3.4 修改Makefile.config

找到文件中的下面两个变量,设置system c的安装目录和linux类型

SYSTEMC_HOME?=/usr/local/systemc-2.3.3
TARGET_ARCH = linux64

到此,基本上就可以直接使用make编译了,会生成一个hello.x,该文件就是目标可执行文件了。

mysysc$ make
g++  -g -Wall -pedantic -Wno-long-long -Werror -I. -I.. -I/usr/local/systemc-2.3.3/include  -c hello.cpp -o hello.o
g++  -g -Wall -pedantic -Wno-long-long -Werror -L. -L.. -L /usr/local/systemc-2.3.3/lib-linux64 -Wl,-rpath=/usr/local/systemc-2.3.3/lib-linux64 -o hello.x hello.o -lsystemc -lm  2>&1 | c++filt
mysysc$ ls
hello.cpp  hello.o  hello.x  Makefile  Makefile.config  Makefile.rules
mysysc$ ./hello.x SystemC 2.3.3-Accellera --- May 28 2022 10:32:42Copyright (c) 1996-2018 by all Contributors,ALL RIGHTS RESERVED
hello world

SystemC快速实战指南相关推荐

  1. Mellanox Infiniband 架构设计快速实战指南 - B

    书接上回:Mellanox Infiniband 架构设计快速实战指南 - A 2. Infiniband协议类型 在 Mellanox Infiniband Topology Generator 中 ...

  2. Mellanox Infiniband 架构设计快速实战指南 - A

    Mellanox Infiniband作为目前高性能计算(HPC)行业高速互联网络最主流的厂商和解决方案,在HPC领域应用极为广泛,不论从规模的可扩展性,还是不同性能要求的匹配性上,都有着较完善的解决 ...

  3. 《Windows PowerShell实战指南(第2版)》——3.4 使用帮助找命令

    本节书摘来自异步社区<Windows PowerShell实战指南(第2版)>一书中的第3章,第3.4节,作者:[美]Don Jones(道·琼斯) , Jeffery Hicks(杰弗瑞 ...

  4. 新书上市 | 流行SQL引擎Presto,官方实战指南来了

    2012年,Facebook的用户数量突破10亿,成为当时全球最大的社交网络.也是在这一年,Facebook的Hive数据仓库达到了250PB,每天需要处理成千上万条查询.在Facebook内部,Hi ...

  5. Vim实战指南(一):基础编辑命令

    原文地址:Vim实战指南(一):基础编辑命令 Introduction Vim和Emacs作为两大神级文本编辑器各有利弊,本实战指南不加讨论的介绍Vim. 本实战指南不是教你按照Vim的键位图来编辑文 ...

  6. 150页书籍《PyTorch 深度学习快速入门指南》附PDF电子版

    为什么说是极简教程,首先本书只涵盖了150页.内容比较精简,特别适合作为 PyTorch 深度学习的入门书籍.为什么这么说呢?因为很多时候,一份厚重的书籍往往会削弱我们学习的积极性,在学习一门新的语言 ...

  7. 实战例子_Pytorch官方力荐新书《Pytorch深度学习实战指南》pdf及代码分享

    PyTorch是目前非常流行的机器学习.深度学习算法运算框架.它可以充分利用GPU进行加速,可以快速的处理复杂的深度学习模型,并且具有很好的扩展性,可以轻松扩展到分布式系统.PyTorch与Pytho ...

  8. 《HTML5与CSS3实战指南》——2.2 基本的HTML5模板

    本节书摘来自异步社区<HTML5与CSS3实战指南>一书中的第2章,第2.2节,作者: [美]Estelle Weyl , Louis Lazaris , Alexis Goldstein ...

  9. 【51单片机快速入门指南】2.1:数码管显示数字、小数 (科学计数法)

    目录 硬知识 数码管简介 多位数码管简介 数码管动态显示原理 74HC245 芯片简介 74HC138 芯片简介 上机实战 源码 Tube.c Tube.h main.c 效果 显示整数 正数 负数 ...

  10. 【51单片机快速入门指南】2:GPIO LED与按键

    目录 硬知识 概念 I/O口配置 准双向口/弱上拉输出配置 开漏输出配置 实战 延时函数的生成 闪烁一个LED灯 源码 实验现象 流水灯 源码 实验现象 按键控制LED灯 按键介绍 源码 实验现象 普 ...

最新文章

  1. IMT-2030(6G)推进组发布《6G总体愿景与潜在关键技术》白皮书
  2. Gulp 前端自动化构建
  3. C++ STL一些注意事项
  4. SpringBoot2 整合JTA组件,多数据源事务管理
  5. 适合初学者的安卓开源项目_开源周初学者
  6. CSS Word的文档结构视图设计
  7. oracle备份与恢复 exp,Oracle数据库备份与恢复之一:exp/imp(导出与导入装库与卸库)...
  8. Android简单登录界面布局设计
  9. 代码审查工具 FindBugs
  10. 《时代》杂志评出的100部最佳英语小说(含下载)
  11. Java递归解压zip压缩包
  12. ImageJ自动批量多通道图片无损分离为单色荧光图
  13. android 视频背景图片,安卓手机怎么给视频添加背景图片 上下图片中间视频画面的小视频制作...
  14. 设计模式01---设计模式基础篇01
  15. 正方验证码智能识别及教务系统模拟登录
  16. css设置背景透明度、16进制色值设置透明度
  17. Android SDK Windows安装教程图解
  18. 这3种PDF合并的方法你一定要收藏
  19. VS报错:error LNK2026: 模块对于 SAFESEH 映像是不安全的
  20. 电商api—淘宝店铺商品

热门文章

  1. win10 系统Docker搭建设备共享平台stf(一)
  2. 进销存软件管理系统排名(最新版)
  3. 计算机软驱的连接方式,岛精仿真软驱、斯托尔USB软驱、斯坦格电脑横机软盘改U盘...
  4. 下载单独的 Google Earth 离线安装包
  5. 【名风自动点击王】支持前台和后台鼠标键盘模拟游戏生活好帮手|IP网页自动点击器
  6. 如何有效解决企业敏感文件泄露问题
  7. 数字图像处理-绪论(下)
  8. java poi jar包下载_poi.jar包下载
  9. cplex的下载、安装、IDE编程及相关问题解决
  10. 接地气的大数据来了:如何预报雾霾