SystemC快速实战指南
主要内容
- 如何安装SystemC
- SystemC风格的hello worl
- 如何编译SystemC下的hello world
1. 如何安装SystemC
SystemC是一组C++库,可以从下面这个网址进行下载。
https://accellera.org/downloads/standards/systemc
SystemC下有几个组件:
- SystemC 2.3.3 (Includes TLM)
- SystemC AMS 2.3
- SystemC CCI 1.0
- SystemC Verification 2.0.1
- 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快速实战指南相关推荐
- Mellanox Infiniband 架构设计快速实战指南 - B
书接上回:Mellanox Infiniband 架构设计快速实战指南 - A 2. Infiniband协议类型 在 Mellanox Infiniband Topology Generator 中 ...
- Mellanox Infiniband 架构设计快速实战指南 - A
Mellanox Infiniband作为目前高性能计算(HPC)行业高速互联网络最主流的厂商和解决方案,在HPC领域应用极为广泛,不论从规模的可扩展性,还是不同性能要求的匹配性上,都有着较完善的解决 ...
- 《Windows PowerShell实战指南(第2版)》——3.4 使用帮助找命令
本节书摘来自异步社区<Windows PowerShell实战指南(第2版)>一书中的第3章,第3.4节,作者:[美]Don Jones(道·琼斯) , Jeffery Hicks(杰弗瑞 ...
- 新书上市 | 流行SQL引擎Presto,官方实战指南来了
2012年,Facebook的用户数量突破10亿,成为当时全球最大的社交网络.也是在这一年,Facebook的Hive数据仓库达到了250PB,每天需要处理成千上万条查询.在Facebook内部,Hi ...
- Vim实战指南(一):基础编辑命令
原文地址:Vim实战指南(一):基础编辑命令 Introduction Vim和Emacs作为两大神级文本编辑器各有利弊,本实战指南不加讨论的介绍Vim. 本实战指南不是教你按照Vim的键位图来编辑文 ...
- 150页书籍《PyTorch 深度学习快速入门指南》附PDF电子版
为什么说是极简教程,首先本书只涵盖了150页.内容比较精简,特别适合作为 PyTorch 深度学习的入门书籍.为什么这么说呢?因为很多时候,一份厚重的书籍往往会削弱我们学习的积极性,在学习一门新的语言 ...
- 实战例子_Pytorch官方力荐新书《Pytorch深度学习实战指南》pdf及代码分享
PyTorch是目前非常流行的机器学习.深度学习算法运算框架.它可以充分利用GPU进行加速,可以快速的处理复杂的深度学习模型,并且具有很好的扩展性,可以轻松扩展到分布式系统.PyTorch与Pytho ...
- 《HTML5与CSS3实战指南》——2.2 基本的HTML5模板
本节书摘来自异步社区<HTML5与CSS3实战指南>一书中的第2章,第2.2节,作者: [美]Estelle Weyl , Louis Lazaris , Alexis Goldstein ...
- 【51单片机快速入门指南】2.1:数码管显示数字、小数 (科学计数法)
目录 硬知识 数码管简介 多位数码管简介 数码管动态显示原理 74HC245 芯片简介 74HC138 芯片简介 上机实战 源码 Tube.c Tube.h main.c 效果 显示整数 正数 负数 ...
- 【51单片机快速入门指南】2:GPIO LED与按键
目录 硬知识 概念 I/O口配置 准双向口/弱上拉输出配置 开漏输出配置 实战 延时函数的生成 闪烁一个LED灯 源码 实验现象 流水灯 源码 实验现象 按键控制LED灯 按键介绍 源码 实验现象 普 ...
最新文章
- IMT-2030(6G)推进组发布《6G总体愿景与潜在关键技术》白皮书
- Gulp 前端自动化构建
- C++ STL一些注意事项
- SpringBoot2 整合JTA组件,多数据源事务管理
- 适合初学者的安卓开源项目_开源周初学者
- CSS Word的文档结构视图设计
- oracle备份与恢复 exp,Oracle数据库备份与恢复之一:exp/imp(导出与导入装库与卸库)...
- Android简单登录界面布局设计
- 代码审查工具 FindBugs
- 《时代》杂志评出的100部最佳英语小说(含下载)
- Java递归解压zip压缩包
- ImageJ自动批量多通道图片无损分离为单色荧光图
- android 视频背景图片,安卓手机怎么给视频添加背景图片 上下图片中间视频画面的小视频制作...
- 设计模式01---设计模式基础篇01
- 正方验证码智能识别及教务系统模拟登录
- css设置背景透明度、16进制色值设置透明度
- Android SDK Windows安装教程图解
- 这3种PDF合并的方法你一定要收藏
- VS报错:error LNK2026: 模块对于 SAFESEH 映像是不安全的
- 电商api—淘宝店铺商品