Question.8
When compiling the above module, a synthesis error occurs. What is the fundamental root cause of this error regarding data types?
module flip_flop( input clk, input d, output q ); always @(posedge clk) begin q <= d; end endmodule
Select Answer
The always block must use blocking assignments (=) for q
always
=
q
The input clk must be declared as a reg to trigger the always block
input clk
reg
The output q inherently defaults to a wire continuous net, but it is being illegally assigned procedurally inside an always block
output q
wire
The output q must be declared as an inout to retain its state across clock cycles
inout