测试向量窗口

在“测试向量”窗口中,您可以从文件加载测试向量,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) 中,例如

Loading test vector "testv1b.txt" ...
Execution 4 vecteurs ...
1 
2 
3 
4 

Réussit: 4, Erreur: 0
          
et en cas d'échec
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
          
Note: Dans la sortie erreur (stderr) on lira ceci :
Error on test vector 3:
Error on test vector 4:
       

继续: 用户指南