求助:如何用用UVM来验证fifo呀,主要是怎么知道fifo空、满?
时间:10-02
整理:3721RD
点击:
各位:
在UVM的库自带的example中找到一个fifo_reg的例子,但是,里面只是简单的先写8个数,然后再读8个数。现在我们想通过大量数据来验证fifo,要空的时候不要读,满的时候不要写,那么,在test或者sequence中,如何能知道fifo是满的还是空的呢?
在UVM的库自带的example中找到一个fifo_reg的例子,但是,里面只是简单的先写8个数,然后再读8个数。现在我们想通过大量数据来验证fifo,要空的时候不要读,满的时候不要写,那么,在test或者sequence中,如何能知道fifo是满的还是空的呢?
坐等各位高手的见解,我入门级选手抛砖引玉,能否对读写使能的enable的cycle进行计数,从而确定什么时间出现空满,然后在monitor中对读出数据个数进行计数,再进行比对
我就怕满的时候还往里面送数,再读出来就与期望的不一致了。
以前也没验过fifo,不知道该怎么安排。难道像例子里面一样,先灌满,再取空就OK了么?我想用读写交错的序列来验,这样就要留心空满了。
接口上的时序在driver和monitor里面体现,满空的信息,可以当作一个事件,通过driver反馈给sequencer,这样sequence就知道了。或者你用sequence的start机制来触发sequence产生item,也许容易控制这种握手的交互。