#122. 多个模块的例化

    ID: 122 Type: Default 1000ms 256MiB

多个模块的例化

题目描述

对于给定模块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信号,如下图所示:

image

为实现电路功能,用户需要在顶层模块定义一些内部信号,从而能够将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