verilog hdl中top模块怎样调用子模块?

在top模块中调用两个z1,z2子模块,z1的输出端口是c,而它将作为z2的输入端口,就是想问子模块z2怎样使用子模块z1输出端口的值,怎样连接?

可以在top层,wire tempz1 u1(.c(temp));z2 u2(.d(temp));d为z2的输入端口。

一、//Z2模块
module Z2(input a2,..., output b);
......
Z1  q1(input a1,..., output c);
assign a2=c;
............
endmodule

//Z1模块
module Z1(input a1,..., output c);
.....
endmodule 

二、verilog在调用模块的时候(也称模块实例化),信号端口可以通过位置或名称关联,nd A1 (T3, A1, B 1); //A1为调用and这个模块的一个加法器,在对A1进行实例化时采用位置关联,T3对应输出端口C,A对应A1,B对应B1。

三、nd A2(.C(T3),.A(A2),.B(B2));//在对A2实例化时采用名字关联,C是and 器件的端口,其与信号T3相连,A对应A2,B对应B2。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答