实现8位D触发器
module top_module (
input clk,
input [7:0] d,
output [7:0] q
);
D d1(.clk(clk),.d(d[0]),.q(q[0]));
D d2(.clk(clk),.d(d[1]),.q(q[1]));
D d3(.clk(clk),.d(d[2]),.q(q[2]));
D d4(.clk(clk),.d(d[3]),.q(q[3]));
D d5(.clk(clk),.d(d[4]),.q(q[4]));
D d6(.clk(clk),.d(d[5]),.q(q[5]));
D d7(.clk(clk),.d(d[6]),.q(q[6]));
D d8(.clk(clk),.d(d[7]),.q(q[7]));
endmodule
module D(input clk,d,output q);
always@(posedge clk)
q <= d;
endmodule
看了答案发现想的太复杂了
module top_module(
input clk,
input [7:0] d,
output reg [7:0] q);
// Because q is a vector, this creates multiple DFFs.
always @(posedge clk)
q <= d;
endmodule