电路测试
除了一步步输入数据进行仿真,Digital仿真软件还支持编写测试用例(test case),自动地对电路施加输入数据、对比输出结果。 测试用例可以直接给出激励和预期响应的数据,也可以编写程序自动生成测试数据。下面分别介绍这两种方法。
测试数据
以前面的2-4译码器为例,点击菜单项“Components/组件 ➤ Misc./其他 ➤ Test case / 测试用例”,添加一个测试组件。右键点击该测试组件,点击组件属性窗口中的“Edit/编辑”按钮,将例 1的内容复制到编辑器中。
En A1 A0 Y0 Y1 Y2 Y3
0 0 0 0 0 0 0
0 0 1 0 0 0 0
0 1 0 0 0 0 0
0 1 1 0 0 0 0
1 0 0 1 0 0 0
1 0 1 0 1 0 0
1 1 0 0 0 1 0
1 1 1 1 0 0 1
例 1中第一行是电路的输入输出引脚的名称(即“Label/标签”属性),后面各行是测试数据,每一列与第一行的引脚对应。
在测试时,Digital仿真软件将激励数据施加到电路的输入端口,然后将电路输出与预期响应值进行比较。 激励和预期响应值除了“0”、“1”之外,还可以用 “X”表示不关心,“Z”表示高阻态。 对于时钟输入,可以使用字母“C”表示一个时钟周期。Digital仿真软件在测试时首先施加其他激励数据,之后施加一个时钟脉冲,然后将电路输出与预期响应比较。
点击菜单项“Simulation/仿真 ➤ Run Tests / 运行测试用例”或对应工具条按钮,弹出“Test result /测试结果”窗口。输出引脚的数据如果与预期相符,则以绿底色显示;如果不相符,则以红底色显示,并且同时给出预期值和测试值的对比。
例 1的最后一行测试数据有意植入了错误,所以仿真结果会有一处红底色显示。 |
在仿真状态下,点击测试结果窗口的某行数据,会在电路图上显示该行数据,便于进行结果分析。
在“Test result /测试结果”窗口中点击菜单项“File/文件 ➤ Save Data / 保存数据”,测试结果数据将被保存为CSV文件。该文件可通过WPS等办公软件打开,用于实验报告的实验结果分析。
测试结果也能够以图形的方式显示,点击菜单项“View/视图 ➤ Show graph / 显示图”即可打开图形窗口。
测试程序
除了直接给出测试数据,编辑器中也可以编写测试程序,例 2给出了2-4译码器的测试程序。
En A1 A0 Y3 Y2 Y1 Y0
repeat(4) 0 bits(2, n) bits(4, 0)
repeat(4) 1 bits(2, n) bits(4, 1<<n)
- 程序说明
-
-
“repeat([n])”表示生成[n]行测试数据。
repeat(4)
创建4行,其中循环变量n从0到3。 -
“bits([bits],[value])”语句将多个位输入作为一组二进制值。例如,
-
bits(4, 0)
创建4位的0,即0000; -
bits(2, n)
则创建2位的数据,其值为循环变量n,即第1行值为00,第2行值为01,等等。
-
-
“<<”为左移运算符。
bits(4, 1<<n)
创建4位的数据,其值为“1左移n位”,四行数据分别为0001、0010、0100、1000。
-
有关测试程序的语句、语法等详细介绍,请点击编辑器窗口的“帮助”按钮。