AR# 60054

|

Vivado Synthesis - "ERROR: [Synth 8-517]" is given when '0' and 'L' or '1' and 'H' values are both used in case statement

描述

The following errors are given when Vivado synthesis detects 'L' and 'H' are used with '0' and '1' at the same time in a case statement.

ERROR: [Synth 8-517] overlapping choice 1'b0 in case statement [*/top.vhd:52]
ERROR: [Synth 8-517] overlapping choice 1'b1 in case statement [*/top.vhd:53]

Below is the code snippet:

case s is

when '1' => return(1);
when '0' => return(0)
when 'L' => return(1);
when 'H' => return(0);
when others => return(0);
endcase;

解决方案

This is expected behavior. 

Vivado synthesis treats 'L' and 'H'  the same as  '0' and '1'. 

This error is given when duplicate case items are detected.

To resolve this issue, use either '0'/'1' or 'L'/'H' in the case statement.

AR# 60054
日期 04/16/2014
状态 Active
Type 已知问题
Tools
People Also Viewed