项目简介
本项目借助SystemC进行交通灯控制系统的模拟,核心目的是模拟交通灯控制器(TLC)的行为,以此验证其能否依据预设规则来控制交通灯的状态。
项目的主要特性和功能
- 具备
TLC
交通灯控制器模块,可控制主路(M)和辅路(S)的交通灯状态。 - 拥有
Testbench
测试平台模块,能模拟车辆信号并测试TLC的行为。 - 包含
HW_DRIVERS
硬件驱动模块,可接收车辆信号和时钟信号,进而控制交通灯的亮灭。 - 以SystemC的
sc_main
函数作为模拟入口,完成模块的创建、连接与模拟启动。 - 实现基础交通灯控制逻辑,红灯代表停止、绿灯代表通行、黄灯代表即将变化的警告。
- 提供交通灯控制器行为测试,确保其能正确控制交通灯状态。
安装使用步骤
安装SystemC库
- 从链接
https://www.accellera.org/downloads/standards/systemc
下载SystemC 2.3.2。 - 使用命令
$tar -xvf systemc-2.3.2.tar.gz
解压软件包。 - 切换到顶层目录:
$cd systemc-2.3.2
。 - 在
systemc-2.3.2
目录下创建objdir
目录:$mkdir objdir
。 - 进入
objdir
目录:$cd objdir
。 - 设置编译器:
$export CXX=g++
。 - 运行配置命令(可选择默认安装路径):
$../configure --prefix=/usr/local/systemc-2.3.3
。 - 执行编译:
$sudo make
。 - 安装:
$sudo make install
。 - 导出环境变量:
$export SYSTEMC_HOME=/usr/local/systemc-2.3.3
。 - 添加SystemC库路径到动态库环境变量:
$export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/systemc-2.3.3/lib-linux64/
。若上述方法无法解决运行时库绑定问题,可手动创建链接:- 移动到系统库文件夹:
$sudo ln -s /usr/local/systemc-2.3.3/lib-linux64/libsystemc-2.3.3.so.
- 创建软链接:
$sudo ln -s /usr/local/systemc-2.3.3/lib-linux64/libsystemc-2.3.3.so.
- 移动到系统库文件夹:
运行项目
- 下载并解压本项目的源代码文件。
- 编译并构建项目,生成可执行文件。
- 运行可执行文件,开始模拟。
- 观察模拟结果,验证交通灯控制器的行为是否符合预期。
卸载SystemC库
- 重复安装指南的步骤1到7。
- 运行卸载命令:
$sudo make uninstall
。 - 删除安装目录下的剩余文件:
$rm -rf /usr/local/systemc-2.3.3
。
注意:由于该项目依赖于SystemC库,因此在编译和运行之前,请确保已正确安装并配置了SystemC环境。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】