Specman e:如何从序列中锁定驾驶员的物品队列?

时间:2018-08-12 07:34:02

标签: specman e

在我的验证环境中,很少有序列在同一驱动程序上同时运行(无论何时项目获得相对于其他序列项目的总线)。

但是,现在我需要添加其他序列,该序列将与其他序列同时运行,从而执行原子读取-修改-写入。 我的新序列如下所示:

<mat-error *ngFor="let validation of account_validation_messages.terms">
          <mat-error class="error-message" *ngIf="accountDetailsForm.get('terms').hasError(validation.type) && (accountDetailsForm.get('terms').dirty || accountDetailsForm.get('terms').touched)">{{validation.message}}</mat-error>
        </mat-error>

Replace with this:

<mat-error class="error-message" *ngIf="accountDetailsForm.get('terms').hasError(validation.type) && (accountDetailsForm.get('terms').dirty || accountDetailsForm.get('terms').touched)">{{validation.message}}</mat-error>

问题在于,在// Atomic READ-MODIFY-WRITE body() @driver.clock is only { do read_item keeping { .cmd == RD; .addr == addr; }; // Wait random time; do write_item keeping { .cmd == WR; .addr == addr; .data == data; }; }; read_item之间,其他序列中的项目会到达总线。您是否知道如何从序列中锁定驾驶员的项目队列?因此,我可以防止其他序列在我的读写项目之间添加其项目吗?

谢谢您的帮助

1 个答案:

答案 0 :(得分:1)

您可以使用BuildPath的{​​{1}}和grab(...)方法来获得对序列驱动程序的排他访问:

ungrab(...)

当驾驶员被抓住时,没有其他序列可以向其发送物品。