从不同模块驱动结构的不同元素

Drive different elements of a structure from different modules

我正在尝试调试一个让我想到这个问题的错误。从不同的模块驱动结构的不同元素是否合法,或者它会给出无效的驱动程序错误

例如,这合法吗?如果不是,我将如何实现相同的功能。 (代码在语法上不正确,但它表达了我想说的)

module top()
{
 struct x; //has elements a,b,c

 x.a = 10;

 module A1(input x)
 module A2(output x)

}

module A1()
{

  return x.a & x.b;

}

module A2()
{

   x.b = 20;

 }

结构的规则与整型位向量相同。您可以根据它们被声明为连线或变量的方式来驱动它们的独立选择。连线可以有多个连续的驱动程序,变量可以有一个连续的驱动程序,或多个程序分配。请注意,一个端口只能有一种类型和一个与该类型关联的方向,并且被认为是端口方向上的连续分配。一个结构的不同成员不能有不同的方向。