项目简介
本项目是用于在SystemC环境开展硬件在环(Hardware-in-the-Loop, HIL)仿真的平台。它达成了SystemC模型和实时硬件系统间的双向异步通信,为硬件验证与设计提供高效、灵活的工具。该平台在David C. Black的技术演示器工作基础上进行扩展,基于SystemC v 2.3,支持TCP、共享内存和POSIX共享内存等通信方式,还有实时同步功能,保障模拟环境的实时性。
项目的主要特性和功能
- 实现SystemC模型和实时硬件系统的双向异步通信,支持TCP、共享内存和POSIX共享内存等通信方式。
- 借助Realtimify模块同步SystemC模拟时间和真实时间,确保模拟环境实时性。
- 采用模块化设计,便于扩展和定制,支持多种硬件和软件系统。
- 提供完整测试框架,涵盖回归测试、测试基准和测试工具,用于验证平台的正确性和性能。
安装使用步骤
环境准备
确保已安装SystemC库,并配置好环境变量。若要在Zedboard或其他ARMv7架构板上运行SystemC,需在SystemC的配置中启用pthreads支持(--enable-pthreads)。
代码获取
从项目仓库下载平台的源代码。
修改配置文件
依据自身安装情况修改config.mk
文件,设置相关变量,如编译信息显示、库路径、系统架构、实时仿真支持等。
安装库和示例
- 定义好
config.mk
中的配置后,在同一目录下运行make && make install
安装库。 - 库安装完成后,运行
make all
构建示例和回归测试。
运行测试
仅测试SystemC模拟器
- 打开一个终端,进入源码目录下的
example/Demo_SC_firewall
,运行./demo_sc_firewall.exe
启动模拟器。 - 打开另一个终端,进入
example/Demo_SC_firewall
,可选择运行以下命令测试:./test_read.exe
:测试防火墙DUT模型的读取功能。./test_write.exe
:测试防火墙DUT模型的写入功能。./test_app.exe
:运行使用DUT模型的真实应用程序。
在真实硬件上运行测试
- 在
config.mk
中启用ARM构建选项。 - 进入源码目录下的
example/Demo_HARDWARE_firewall_ARM
,可选择运行以下命令测试:./test_read.exe
:测试硬件防火墙DUT的读取功能。./test_write.exe
:测试硬件防火墙DUT的写入功能。./test_app.exe
:运行使用硬件防火墙DUT的真实应用程序。
若要使用其他通信接口类型进行测试,需在config.mk
文件中设置相应选项,重新构建库和测试平台,且在重新构建前先执行make clean
。有时每次测试后重启模拟器效果更佳。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】