cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Contributor
Contributor
6,247 Views
Registered: ‎12-29-2013

Vivado bug in undef handling for relational operators

Consider the following test case with Vivado 2013.4:

 

module issue_015(a, y0, y1, y2, y3, y4, y5);
  input [3:0] a;
  output [3:0] y0, y1, y2, y3, y4, y5;

  assign y0 = a >  4'bx;
  assign y1 = a >= 4'bx;
  assign y2 = a <  4'bx;
  assign y3 = a <= 4'bx;
  assign y4 = a == 4'bx;
  assign y5 = a != 4'bx;
endmodule

 

The resulting values for y0, .., y5 should be 4'b000x, independent of the value of a. (see Sec. 5.1.7 of  IEEE Std. 1364-2005 or compare with simulation results). So correct synthesis outputs would be 4'b0000 or 4'b0001. The three MSB must always be zero.

 

But Vivado 2013.4 sets all outputs to the value 4'b0010 instead.

 

I have used the following TCL script for synthesis:

 

read_verilog issue_015.v
synth_design -part xc7k70t -top issue_015
write_verilog -force issue_015_netlist.v

 

Crosscheck: XST 14.7, Quartus 13.1, Isim 14.7 and Modelsim 10.1d implement this correctly.

 

Note: This is a bug report. I don't need support.

2 Replies
Xilinx Employee
Xilinx Employee
6,211 Views
Registered: ‎07-01-2010

Hi ,

 

Thanks again for your effort in pointing to this bug .

 

I will check the details and let you know the details on my analysis/fix.

 

Regards,
Achutha

---------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------
0 Kudos
Reply
Xilinx Employee
Xilinx Employee
5,935 Views
Registered: ‎07-01-2010

Hi Clifford,

 

Thanks for waiting on this issue.

 

This is fixed in latest build of 2014.2 release.

 

Regards,

Achutha

---------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------
0 Kudos
Reply