dff #4 park_reg(.din (next_pv), .clk (clk), .q (park_vec), .se (se), .si(), .so());
....
I don't see how the #4 is legal is Verilog 2001.
The Verilog standard says:
A.5.4
udp_instantiation = udp_identifier [ drive_strength ] [delay2] udp_instance { , udp_instance } ; udp_instance = [name_of_udp_instance] ( output_terminal , ....
A.3.3:
output_terminal = net_lvalue
I can't see how from the Verilog grammar that the sequence .din is allowed as net_lvalue.
So, this must be a module instantiation, which doesn't allow the #4.
Am I missing something obvious?
A deriivation of output_terminal to the concrete terminals .din would be appreciated.
-- IDB