11.8.3 says, 11.8.3 Steps for evaluating an assignment The following are the steps for evaluating an assignment: - Determine the size of the right-hand side by the standard assignment size determination rules (see 11.6). - If needed, extend the size of the right-hand side, performing sign extension if, and only if, the type of the right-hand side is signed. So you get parameter UTR p2 = 2'sb11 ; In this case, the RHS is signed. According to 11.8.3, when size-extending the RHS, it does not matter whether or not the LHS is signed or unsigned. If the RHS is signed, as in this case, sign-extension is performed. So you should get 8'b11111111. Regards, Shalom From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf Of Datta, Kausik Sent: Wednesday, March 19, 2014 16:46 To: sv-bc@eda.org Subject: [sv-bc] Value propagation in Parameter with Type Hi, For the following testcase what should be the value of p2? Will it be 8'b00000011 or 8'b11111111? Thanks Kausik module bot #(parameter type p1 = logic, parameter p1 p2 = 7) (input in1, output integer out1); assign out1 = p2; endmodule module top(input in1, output integer out1); typedef union packed { byte a; bit [7:0] b; }UTR; bot #(UTR, 2'sb11) inst(in1, out1); endmodule -- This message has been scanned for viruses and dangerous content by MailScanner<http://www.mailscanner.info/>, and is believed to be clean. --------------------------------------------------------------------- Intel Israel (74) Limited This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Wed Mar 19 07:53:44 2014
This archive was generated by hypermail 2.1.8 : Wed Mar 19 2014 - 07:53:49 PDT