[sv-bc] Is ordering defined while connecting formals/actuals for a function?

From: Chandel, Gauraw <gauraw_chandel_at_.....>
Date: Wed Nov 19 2008 - 10:44:56 PST
Hi, 

 

Please consider following testcase:- 

 

module reduced(in1,next_instr);

input logic [9:0]   in1;

output logic[11:0]next_instr;

reg [9:0]   prg_cnt;

reg [1:0]   gp_pc;

reg        gp;

 

always @*

begin

  prg_cnt=0;

  gp_pc=0;

  gp=0;

  next_instr = next_instr_addr((prg_cnt = (gp_pc = (gp = 1))),gp_pc,gp);

end

 

function [11:0] next_instr_addr;

input logic [9:0]   prg_cnt;

input  logic[1:0]   gp_pc;

input  logic        gp;

   begin

      next_instr_addr = prg_cnt + gp_pc + gp;

   end

endfunction

 

endmodule

 

 

This query is especially about the statements highlighted in blue. I am
curious as to how it should be evaluated & what the expected output is.
I would appreciate if I am pointed to relevant section in LRM that deals
with this. I could not find anything about the order in which function
formals/actuals should be connected. 

 

Thanks & regards,

-Gauraw

 


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Wed Nov 19 10:45:44 2008

This archive was generated by hypermail 2.1.8 : Wed Nov 19 2008 - 10:46:23 PST