我应该在哪里将输入交易写入记分牌

Where should I write input transaction to the scoreboard

我有一个简单的任务要测试。 输入是一个数据包,输出是完全相同的数据包。 因此我不必预测输出,我可以将输出事务(来自监视器)与输入事务进行比较。 我应该从序列还是从驱动程序将输入事务写入记分板?

首选的 uvm 机制是在输入端口有一个监视器,它从输入总线(独立于 driver)收集数据并将其发送到记分板。这将启用 re-use 和代理的可移植性。代理可以稍后 re-used 处于被动模式,并且作为监视器连接的记分牌将在被动模式下可用。 [driver 在被动模式下不存在计分板不能 re-used ] 监控器也会独立验证由 driver.

驱动的协议

如果您非常确定不想做额外的工作或计划在以后构建监视器,您可以将分析端口添加到 driver 并将事务发送到记分板来自 driver。由于序列不是组件,将动态创建和销毁,因此不建议将记分板连接到序列。每次创建序列时,您都需要 re-establish 与记分牌的连接,其中 driver/monitor 可以在 connect_phase.[=10= 期间启动时建立一次与记分牌的连接。 ]

我假设您不能 re-use 输出端口的监视器,因为输出协议与输入协议不同。