#122. 多个模块的例化
多个模块的例化
题目描述
对于给定模块my_dff,包含两个输入信号和一个输出信号(D触发器模块),其代码如下:
module my_dff(input clk,input d,output reg q);
always@(posedge clk)
q <= d;
endmodule
请创建一verilog模块,在该模块中将my_dff模块例化3次,并串行连接,使其构成一个长度为3的移位寄存器,其中3个模块公用一个clk信号,如下图所示:
为实现电路功能,用户需要在顶层模块定义一些内部信号,从而能够将3个例化的模块进行连接。
输入格式
2个 1bit 位宽信号 clk、d
输出格式
1个 1bit 位宽信号 q
示例代码
module my_dff(input clk,input d,output reg q);
always@(posedge clk)
q <= d;
endmodule
module top ( input clk, input d, output q );
// Write your code here
endmodule