# ICTest **Repository Path**: opendacs/ictest ## Basic Information - **Project Name**: ICTest - **Description**: ICTest 故障仿真器,是由中科鉴芯(CASTest)开源的基于三帧仿真的故障仿真器。 - **Primary Language**: C++ - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 3 - **Created**: 2021-09-29 - **Last Updated**: 2024-12-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![CASTEST 图标](./images/castest.jpg) # ICTest Fault Simulator ## 简介 `ICTest Fault Simulator`是由中科鉴芯(`CASTest`)开源的一款基于三帧仿真的故障仿真器。在实际电路中,寄存器可能是上升沿触发也可能是下降沿触发,因此需要将一个时钟周期划分为3个frame进行仿真。 DFF模型采用master-slave模式,在frame 0阶段对所有存在事件发生的组合逻辑门进行仿真,如果有事件触发DFF,将DFF输入D上的值传递到master中,slave的值保持不变; 在frame 1时如果是上升沿触发的DFF,此时将master的值传递给slave;在frame 2时如果是下降沿触发的DFF,此时将master的值传递给slave。 当前该故障仿真器仅支持单时钟,单`capture`下全扫描电路。 除此之外,该故障仿真器中还包含了`vy`网表格式解析,`STIL`文件解析,等效故障生成,逻辑仿真等功能。 ## 目录 - bench 测试电路,主要包括使用smic18库综合后的iscas89电路。 本项目对iscas89的verilog网表电路进行了格式转换, 生成`.vy`格式的文件,然后通过读取`.vy`文件,实现后续的解析,仿真等功能! 其中`primitive.vy`由打平后的基本门组成,`cell.vy`由库单元组成。 - conf 配置文件 - script 脚本文件 - src 项目代码文件 - stil `.stil`格式文件,仿真时需要读取此文件获取测试向量等。 - test 功能测试代码 - thirdparty 第三方开源工具库: 1. 命令行工具:cmdline 来源:https://github.com/tanakh/cmdline ## 使用说明 * 运行要求 c++11, linux环境 * 执行指令 ~~~ -e run_fsim -c ../bench/testcases/s382_cells.vy -p ../bench/testcases/s382_primitives.vy -s ../stil/s382_scan.stil -o ../out/ ~~~ - `-e`表示`exec`,执行指令包括`create_fault`、`run_lsim`、`run_fsim`。 - `-c`表示`cell`,指定`cell.vy`的文件路径。 - `-p`表示`primitive`,指定`primitive.vy`的文件路径。 - `-s`表示`stil`,指定`.stil`的文件路径。 - `-o`表示`out`,指定执行结果的输出文件夹路径。