Answer from cs61c-cj (Peter Lau 16539384) for Question 1 The C programmer associates the order of the arguments to be what the callee's prototype is. For example, if foo were defined as: void foo(int x, char y), then a call to foo(a,b) would only work if a were an int and b is a char. But in Verilog, the syntax for arguments is .arg(value). So with this, the order of arguments passed into a structure doesn't matter as long as the arguments get their correct values.