Hi, I have 3 queries about what should be the correct behavior for the following 3 cases. 1) What should be behavior if '1 is passed to a port as is done in the following testcase? module top; bottom inst('1); endmodule module bottom(a); input [63:0] a; initial $display("%b", a); endmodule Should it be a) 1111111111111111111111111111111111111111111111111111111111111111 or b) zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz1 or c) 0000000000000000000000000000000000000000000000000000000000000001 2) What should be the behavior if '1 is used as parameter value module top; parameter [63:0] p1 = '1; initial $display("%b",p1); endmodule Should it be a) 1111111111111111111111111111111111111111111111111111111111111111 or b) 0000000000000000000000000000000000000000000000000000000000000001 3) Similar to 2 but in a more general case what should be the value of parameter if range is specified which is more than 32 but the expression assigned is of 32 bit. Should the expression be evaluated in 32 bit or with the size of parameter? module top; parameter [63:0] p1 = 1'b1 << 63; initial $display("%b",p1); endmodule Should it be a) 0000000000000000000000000000000000000000000000000000000000000000 or b) 1000000000000000000000000000000000000000000000000000000000000000 The behavior of simulators are different in the above cases. Thanks in advance for your help. -Regards, Ayan . -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Tue Jul 8 05:59:03 2008
This archive was generated by hypermail 2.1.8 : Tue Jul 08 2008 - 05:59:50 PDT