测试向量窗口
在“测试向量”窗口中,您可以从文件加载测试向量,Logisim 将在当前电路上启动测试。 该项目只有一个测试矢量窗口,表格将发生变化以反映项目窗口中的模拟电路。 但请注意,测试矢量模块运行电路模拟器的单独副本,因此不会干扰项目窗口中的模拟,也不受其影响。
例如,我们将测试下面的电路。 该电路从两个输入给出五个逻辑函数的结果。 它有一个错误,底部与非门应该是与门。
测试文件如下所示。
A B O_Nor O_Nand O_Xor O_Or O_And O_AB[2] 0 0 1 1 0 0 0 00 0 1 0 1 1 1 0 01 1 0 0 1 1 1 0 10 1 1 0 0 0 1 1 11
要开始测试,请选择 | 模拟 | → | 测试矢量 | ,然后使用 “加载矢量” 按钮。 选择您构建的向量文件。 模拟立即运行并显示结果表格。
任何不正确的输出都会被标记为红色。 输出不正确的行将排序到窗口顶部。
矢量的文件格式很简单。 第一行包含与信号名称相对应的列标题。 如果位宽大于1,则需要在方括号中指定。 示例 C[8] 。 每种测试情况的数据在以下几行中。 空行将被忽略。 “#”字符之后的任何内容都是注释。
其余行列出由空格或制表符分隔的每个值。 值可以是十六进制、八进制、二进制或有符号十进制。 十六进制值必须具有前缀 “0x” 。 八进制值必须具有前缀 “0o” 。 二进制和十进制数通过位数来区分:二进制值的位数必须始终与列的宽度完全相同; 小数值不得有前导零,并且可以有负号。
以下是测试向量文件的示例:
#test vector for adder 4bit A[4] B[4] O[4] C_in C_out 0000 0000 0000 0 0 0000 0000 0001 1 0 0xf 0xf 0000 1 0
根据十六进制、八进制或二进制值的表示形式,小写字母 “x” 允许指定四个、三个或一个“不重要”位。 例如,值 101xx 是一个五位二进制值,最后两位未指定,而 0x1ax5 是一个十六进制值,其中四位未指定位的两倍。 此类通配符不能用于十进制表示法。
命令行: 为了便于自动化测试,可以从命令行运行测试向量功能,如下所示:
java -jar logisim-evolution.jar -testvector <circuitname> <vector.txt> <project.circ>
成功测试的结果将在标准输出 (stdout) 中,例如
et en cas d'échecLoading test vector "testv1b.txt" ... Execution 4 vecteurs ... 1 2 3 4 Réussit: 4, Erreur: 0
Note: Dans la sortie erreur (stderr) on lira ceci :Loading test vector "testv1a.txt" ... Exécution 4 vecteurs ... 1 2 3 ob = 0 (expected 1) 4 ob = 1 (expected 0) Réussit: 2, Erreur: 2
Error on test vector 3: Error on test vector 4:
继续: 用户指南 。