我正在尝试调试一个让我回答这个问题的错误。从不同的模块驱动结构的不同元素是否合法,或者它会给出无效的驱动程序错误
例如,这是合法的吗?如果不是,我将如何实现相同的功能。 (代码在语法上不正确,但它传达了我想说的内容)
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;
}
答案 0 :(得分:1)
结构的规则对于积分位向量是相同的。您可以根据它们被声明为线或变量的方式来驱动它们的独立选择。导线可以有多个连续驱动器,变量可以有一个连续的驱动器,也可以有多个程序分配。请注意,端口只能有一种类型和一种与该类型相关联的方向,并且被视为在端口方向上的连续分配。你不能让不同方向的结构的不同成员。