乐清做手机网站,小程序注册步骤,常见的网站模式,商务网站建设的流程前言
好几年没有记录过东西#xff0c;一是确实很忙#xff0c;二是人也变懒了。新年开个新的学习计划#xff0c;希望能坚持下去。
SystemC
简介
SystemC是一个建模语言#xff0c;其本质是一个C的库#xff0c;一般用于SoC建模#xff0c;具体介绍不赘述#xff0…前言
好几年没有记录过东西一是确实很忙二是人也变懒了。新年开个新的学习计划希望能坚持下去。
SystemC
简介
SystemC是一个建模语言其本质是一个C的库一般用于SoC建模具体介绍不赘述百度都可以搜到这里只讲怎么使用配置
代码下载
可以去systemc.org下载也可以直接从github.com下载。我使用的是 gitgithub.com:accellera-official/systemc.git。
INSTALL
下载下来后systemc目录下就有一个INSTALL.md描述如何编译安装SystemC以下的内容其实也就是在复述整个过程。
编译环境
使用的是Macos的Clang作为Systemc的编译器CPU ARCH是X86
Apple clang version 14.0.3 (clang-1403.0.22.14.1)
Target: x86_64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin1
配置CXX环境变量
2
在systemc目录下输入./config/bootstrap生成配置文件
3
在systemc目录下创建编译文件夹objdir并切到该文件夹下
4
在objdir目录下使用…/configure ‘CXXFLAGS-stdc17’ --prefixXXXXXX来生成configure配置其中CXXFLAGS是指定c17这是systemc要求的。prefix是指定systemc的安装目录。
5
make即可完成安装
make
make check
make install6
验证example下的内容
6.1
修改配置文件主要修改的是Makefile.config中的配置。 Makefile.rules中的SYSTEMC_LDFLAGS暂时没看懂LD的啥先删掉不然报错
diff --git a/examples/build-unix/Makefile.config b/examples/build-unix/Makefile.config
index a4643291..d0d4635f 100644
--- a/examples/build-unix/Makefile.configb/examples/build-unix/Makefile.config-34,13 34,13 ## guess config from environment## Variable that points to SystemC installation path
-SYSTEMC_HOME?../../../..
SYSTEMC_HOME?/Users/XXXX/Tools/systemc## Select the target architecture
-#TARGET_ARCH linux
TARGET_ARCH macosx64## Select the architecture suffix, if necessary
-#ARCH_SUFFIX -$(TARGET_ARCH)
ARCH_SUFFIX -$(TARGET_ARCH)## How to instruct the dynamic linker to locate the SystemC library#LDFLAG_RPATH -Wl,-rpath-49,18 49,19 SYSTEMC_HOME?../../../..FLAGS_COMMON -g -WallFLAGS_STRICT -pedantic -Wno-long-longFLAGS_WERROR -Werror
FLAGS_COMPILER -stdc17# combined flags
-#SYSTEMC_CXXFLAGS $(FLAGS_COMMON) $(FLAGS_STRICT) $(FLAGS_WERROR)
SYSTEMC_CXXFLAGS $(FLAGS_COMMON) $(FLAGS_STRICT) $(FLAGS_WERROR) $(FLAGS_COMPILER)# Additional preprocessor symbols#SYSTEMC_DEFINES # Explicit location of the SystemC headers
-#SYSTEMC_INC_DIR $(SYSTEMC_HOME)/include
SYSTEMC_INC_DIR $(SYSTEMC_HOME)/include# Explicit location if the SystenC library
-#SYSTEMC_LIB_DIR $(SYSTEMC_HOME)/lib$(ARCH_SUFFIX)
SYSTEMC_LIB_DIR $(SYSTEMC_HOME)/lib$(ARCH_SUFFIX)# Run with valgrind#VALGRINDvalgrind --log-file-exactlyvalgrind.log
diff --git a/examples/build-unix/Makefile.rules b/examples/build-unix/Makefile.rules
index d5ac2271..45cd25ac 100644
--- a/examples/build-unix/Makefile.rulesb/examples/build-unix/Makefile.rules-59,8 59,7 SYSTEMC_LIB_DIR ? $(SYSTEMC_HOME)/lib$(ARCH_SUFFIX)SYSTEMC_DEFINES ?SYSTEMC_CXXFLAGS ? $(FLAGS_COMMON) $(FLAGS_STRICT) $(FLAGS_WERROR)
-SYSTEMC_LDFLAGS ? -L $(SYSTEMC_LIB_DIR) \
- $(LDFLAG_RPATH)$(SYSTEMC_LIB_DIR)
SYSTEMC_LDFLAGS ? -L $(SYSTEMC_LIB_DIR)SYSTEMC_LIBS ? -lsystemc -lm## Add PTHREADS1 to command line for a pthreads build6.2
编译example,以FFT里的FLPT为例子进入对应文件夹直接make如下图没有报错会在该目录下生成fft_flpt.x 执行.x文件即可看到simulation输出
Linux
Linux下的安装应该可以参考下面的链接 https://blog.sina.com.cn/s/blog_8346031301010jh9.html