SystemC Cycle Model Runtime 是 Arm 公司提供的一套关键工具链组件,专门用于支持基于 SystemC 的周期精确硬件建模与仿真。作为电子系统级(ESL)设计流程的核心环节,它为 Arm 架构处理器提供了参考实现平台,使开发者能够在芯片流片前完成架构探索、性能分析和软件验证。
注意:从 v11.5 版本开始,Runtime 仅支持 Linux 环境(特别是 RHEL 7.0),Windows 平台已不再提供官方支持。这是出于性能优化和工具链统一性的考虑。
gcc --version 验证当前版本code复制Arm-CycleModelSystemC-Runtime-files-Linux-x86_64-v11.5.tgz
提示:若无法找到下载资源,需联系 Arm 技术支持 (support-esl@arm.com) 确认账户权限。
执行以下命令进行解压:
bash复制mkdir -p /opt/arm/cycle_models
cd /opt/arm/cycle_models
tar xvf ~/Downloads/Arm-CycleModelSystemC-Runtime-files-Linux-x86_64-v11.5.tgz
解压后的典型目录结构:
code复制/opt/arm/cycle_models/
└── ARM/
└── CycleModels/
├── Runtime/
│ └── cm_sysc/
│ └── 11.5/
│ ├── bin/ # 可执行工具
│ ├── etc/ # 环境配置脚本
│ ├── include/ # 头文件
│ ├── lib/ # 共享库
│ └── FMRuntime/ # Fast Models 运行时
└── etc/ # 全局配置
对于 bash 用户,在 ~/.bashrc 中添加:
bash复制source /opt/arm/cycle_models/ARM/CycleModels/etc/setup.sh
对于 csh/tcsh 用户,在 ~/.cshrc 中添加:
csh复制source /opt/arm/cycle_models/ARM/CycleModels/etc/setup.csh
关键环境变量说明:
CM_SYSC_HOME:指向 Runtime 的安装根目录PATH:添加了 Runtime 的 bin 目录LD_LIBRARY_PATH:包含必要的库路径bash复制wget https://developer.arm.com/support/licensing/generate
bash复制export LM_LICENSE_FILE=27000@your.license.server
bash复制lmutil lmdiag -c $LM_LICENSE_FILE
所有集成到同一参考平台中的 Cycle Model 必须保持版本一致(全为 v11.x 或全为 v10.x)。混合版本会导致:
bash复制cp -r ref_platform ref_platform_backup
bash复制rm -rf ref_platform/ARM
bash复制cp -r /opt/arm/cycle_models/ARM ref_platform/
bash复制# 检查环境变量
echo $CM_SYSC_HOME
# 预期输出:/opt/arm/cycle_models/ARM/CycleModels/Runtime/cm_sysc/11.5
# 验证工具路径
which cm_config
# 预期输出:/opt/arm/cycle_models/ARM/CycleModels/Runtime/cm_sysc/11.5/bin/cm_config
bash复制cd <model_dir>/examples/simple
make run
症状:
code复制Error: No valid license found for feature "CM_STUDIO"
解决方案:
症状:
code复制error while loading shared libraries: libSystemC-2.3.1.so: cannot open shared object file
解决方案:
bash复制export LD_LIBRARY_PATH=$CM_SYSC_HOME/lib:$LD_LIBRARY_PATH
症状:
code复制undefined reference to `std::__cxx11::basic_string...'
解决方案:
统一使用 GCC 6.4.0 编译所有组件,或添加编译选项:
bash复制-D_GLIBCXX_USE_CXX11_ABI=0
出于隐私考虑,可通过以下方式禁用使用数据上报:
bash复制export ARM_DISABLE_ANALYTICS=1
使用环境模块工具管理多个 Runtime 版本:
bash复制module load cyclemodels/11.5
module switch cyclemodels/11.4
在参考平台的 Makefile 中添加优化参数:
makefile复制CXXFLAGS += -O3 -march=native
空间管理:
--max-simtime 参数避免意外长时间仿真性能优化:
taskset 绑定 CPU 核心减少上下文切换调试技巧:
bash复制gdb --args ./simulator --param=value
版本控制: