UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Scholar pedro_uno
Scholar
4,686 Views
Registered: ‎02-12-2013

Re: vhdl-93 in vivado

Jump to solution

Hello,

 

What is the conclusion of the original thread?

 

I get the error below.  I see no solution in this thread. Please someone help.

 

ERROR: [Synth 8-2396] near character '0' ; 3 visible types match here

 

Here is my code snippet.

 

    sine_gen_inst: entity work.sine_gen
    Port map(
        reset         => '0', -- this causes the error.
        clk           => clk,
        --
        next_data     => tx_next_data,
        i_data        => sine_i_data,
        q_data        => sine_q_data);

 

 

 

 

----------------------------------------
DSP in hardware and software
-----------------------------------------
0 Kudos
Scholar pedro_uno
Scholar
4,682 Views
Registered: ‎02-12-2013

Re: vhdl-93 in vivado

Jump to solution
I should have posted the full error message. It shows the synthesis tool going through several libraries finding different definitions of '0'.

ERROR: [Synth 8-2396] near character '0' ; 3 visible types match here [/path/design_name.vhd:115]
INFO: [Synth 8-1047] first match for ''0'' found here [./vhdl_packages/1993/src/standard.vhd:11]
INFO: [Synth 8-1047] another match for ''0'' found here [./vhdl_packages/1993/src/standard.vhd:20]
INFO: [Synth 8-1047] another match for ''0'' found here [./vhdl_packages/1993/src/std_1164.vhd:22]


I think it is a bug in the compiler.
----------------------------------------
DSP in hardware and software
-----------------------------------------
0 Kudos
Scholar pedro_uno
Scholar
4,671 Views
Registered: ‎02-12-2013

Re: vhdl-93 in vivado

Jump to solution
Actually, now I see what is happening here. I had not yet included my sine_gen module into the source list. Because of that the compiler did not yet know what type to use for the literal '0'.

It is a funny error message but now I know what to look for when I see it. Thanks.
----------------------------------------
DSP in hardware and software
-----------------------------------------
0 Kudos
Historian
Historian
4,645 Views
Registered: ‎02-25-2008

Re: vhdl-93 in vivado

Jump to solution

@pedro_uno wrote:
I should have posted the full error message. It shows the synthesis tool going through several libraries finding different definitions of '0'.

ERROR: [Synth 8-2396] near character '0' ; 3 visible types match here [/path/design_name.vhd:115]
INFO: [Synth 8-1047] first match for ''0'' found here [./vhdl_packages/1993/src/standard.vhd:11]
INFO: [Synth 8-1047] another match for ''0'' found here [./vhdl_packages/1993/src/standard.vhd:20]
INFO: [Synth 8-1047] another match for ''0'' found here [./vhdl_packages/1993/src/std_1164.vhd:22]



Ah, a clue:

 

INFO: [Synth 8-1047] first match for ''0'' found here [./vhdl_packages/1993/src/standard.vhd:11]

 

VHDL-93 did not allow using literals as the actuals in a port map. That was added in the 2002 update of the language. So if the synthesizer is following the strict VHDL-93 syntax, it should not even bother trying to determine the type of the actual. It should just error out.

 

Can Vivado be used in a VHDL-2002 or 2008 mode? That should work.

 

----------------------------Yes, I do this for a living.
0 Kudos
Explorer
Explorer
2,427 Views
Registered: ‎09-13-2011

Re: vhdl-93 in vivado

Jump to solution

ERROR: [Synth 8-2396] near character '0' ; 3 visible types match here [file.vhd:n]

 

Why isn't this error message fixed? It is highly misleading.

 

I came across it again in 2016.2 when I forgot a 'use' clause for a library with a component instantiation. It is the component that Vivado can't recognize, the type is not the problem.