Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
System verilog 从多个端口(在不同代理中)到一个导出(在记分板中)的连接_System Verilog_Uvm - Fatal编程技术网

System verilog 从多个端口(在不同代理中)到一个导出(在记分板中)的连接

System verilog 从多个端口(在不同代理中)到一个导出(在记分板中)的连接,system-verilog,uvm,System Verilog,Uvm,我和我的经纪人和记分牌有一对一的出口情况。我的疑问是,如何确保在众多端口中,只有一个端口可以在瞬间写入导出,这样我就不会遇到任何复杂情况或丢失的事务。欢迎提供任何帮助/建议。谢谢您正如您所提到的,端口被称为“串行”,因此您不应该有任何丢失的事务。每当代理中的监视器准备好广播时,它将调用记分板作为订户的端口写入函数 但是,我认为无法保证端口写入函数的调用顺序,因此根据您试图实现的目标,您可能仍然会遇到一些复杂问题。通常您会有一个仲裁器,决定哪个端口将写入,可能会考虑一些优先级。每个端口都需要支持背

我和我的经纪人和记分牌有一对一的出口情况。我的疑问是,如何确保在众多端口中,只有一个端口可以在瞬间写入导出,这样我就不会遇到任何复杂情况或丢失的事务。欢迎提供任何帮助/建议。谢谢您

正如您所提到的,端口被称为“串行”,因此您不应该有任何丢失的事务。每当代理中的监视器准备好广播时,它将调用记分板作为订户的端口写入函数


但是,我认为无法保证端口写入函数的调用顺序,因此根据您试图实现的目标,您可能仍然会遇到一些复杂问题。

通常您会有一个仲裁器,决定哪个端口将写入,可能会考虑一些优先级。每个端口都需要支持背压,以使想要写入的主机暂停。仲裁员只允许一位书写大师继续进行,其他人将等待轮到他。仲裁员已经就位了吗?我的意思是,uvm导出/端口是否自行处理此问题,或者我是否必须对其进行编码?谢谢,模拟器会处理好的,尽管stampI认为你正在构建可合成的硬件并征求建议。我不知道您的项目或类库是否提供了所需的构建块。对不起,我让你分心了。你能澄清一下你所说的瞬间是什么意思吗?你指的是模拟器时间还是多个进程试图互相碰撞?