微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 消息驱动测试平台可以改善测试覆盖率

消息驱动测试平台可以改善测试覆盖率

时间:11-07 来源:eetchina 点击:

GA的连接。在该模块内有二个VHDL进程为测试UART建模。第一个进程收集来自FPGA UART RxD引脚的数据,并把数据存放在本地数据存储器中。第二个进程将来自本地数据存储器的数据通过TxD信号发送给FPGA UART。

软件接口对运行于实际微处理器的软件算法进行建模。在该模块内也有二个进程。第一个进程将本地数据存储器中的数据发送给 FPGA UART。这些进程和物理接口进程的区别在于这时的数据交换是通过UART数据寄存器而不是UART TxD和RxD信号完成的。这就要求我们可以从UART测试模块访问FPGA UART寄存器。通过交换UART测试模块和进程接口模块之间的消息队列中的消息实现对FPGA UART寄存器的访问。

控制接口用于启动物理接口内的进程。共享变量和信号用于软件和物理接口模块之间的通信。

例子

下面研究一下可能运行于图1所示的FPGA上的测试。在测试中需要将缓冲数据通过每个UART发送到相应的测试模块。对每个UART来说测试包含以下一些步骤:

..初始化UART

..初始化UART测试模块

..初始化发送数据的缓存

..缓存非空时循环

..比较结果

利用简单的脚本命令如WRITE_REGISTER就可完成UART和UART测试模块的初始化。将要发送的缓存数据存放于 UART测试模块中。可以用脚本命令设置该数据。循环相对要复杂些,包括将来自UART测试模块的消息发送给处理器接口模块,并用指令读取UART状态寄 存器。一经读取,处理器接口模块就会向UART测试模块回送一条带状态寄存器值的消息。然后由UART测试模块决定是否发送数据。

UART测试模块的其它部分收集来自FPGA TxD引脚的数据。待收集完所有数据后,就可以比对接收数据和期望数据了。

处理器接口模块相对简单些,它在输入队列和处理器上接收消息。通常这些消息要么是写寄存器命令,要么是读寄存器命令。如果是 写寄存器命令,来源于消息的数据和地址就被写入FPGA处理器接口,其写入方式与实际处理器向FPGA写入的方式相同。如果是读寄存器命令,则地址来自消 息。FPGA处理器接口完成读周期,读到的数据放在消息中再发送回请求读的模块。

其它测试模块以相同的方式写入UART测试模块。大多数测试模块具有相同的结构,而由消息驱动测试平台建立的架构能使新测试模块的插入非常容易。

本文小结

FPGA加上微处理器构成了典型系统的基础。FPGA和微处理器之间的交互常常很难预测和查错。消息驱动测试平台则有助于仿真这些交互,从而减少硬件测试期间可能会遇到的问题。

作者:Robert Schenk


Array Electronics公司


Email: jrschenk@t-online.de

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top