【摘要】:通常激励产生器是一个任意运行的在DUT的输入管脚上加激励的器件。既然激励产生器是直接与总线相连的,它必须遵守总线协议,通过一个状态机来实现这一目的。DUT的状态机等待req信号,当它接收到请求信号后,完成所请求的操作并送回一个ack信号。激励产生器,作为互补的一方,做相反的事情。代码实现了一个有三个状态——RESET、SEND_REQ和WAIT_FOR_ACK的状态机。
6.2 激励产生器
通常激励产生器是一个任意运行的在DUT的输入管脚上加激励的器件。它一般由一个状态机来处理握手协议。在这个例子中,激励产生器是直接与总线相连的,很快我们将看到激励产生器不是与总线直接相连的例子。既然激励产生器是直接与总线相连的,它必须遵守总线协议,通过一个状态机来实现这一目的。如图6-4所示。
图 6-4
激励产生器的状态机与DUT的状态机是非常类似的,这是因为激励产生器就是用来测试DUT的。事实上,这两个状态机是互补的。DUT的状态机等待req信号,当它接收到请求信号后,完成所请求的操作并送回一个ack信号。激励产生器,作为互补的一方,做相反的事情。它送出一个req信号后等待ack信号。
首先,来看一下激励产生器的代码:
代码实现了一个有三个状态——RESET、SEND_REQ和WAIT_FOR_ACK的状态机。RESET状态初始化了地址和数据总线,并且开始了一个请求;SEND_REQ状态生成了新的地址和数据的值,在总线上施加了请求信号后切换到了WAIT_FOR_ACK状态;WAIT_FOR_ACK状态与它的名字所表示的意思一样,它等待DUT确认请求;当接收到确认信号,状态机又切换到SEND_REQ状态。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。