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!

AR# 65409

Vivado Synthesis - "[Synth 8-658] type mismatch for port" Port mapping with VHDL alias results in Vivado Synthesis error

Description

I have the following port mapping definition in my design:

-----------------------------------------
Memory Declaration
-----------------------------------------
type ram_test is array (1 downto 0) of std_logic_vector(31 downto 0);
signal memory : ram_test;
-----------------------------------------
Alias Declaration
-----------------------------------------
alias to_portmap : std_logic_vector(7 downto 0) is memory(0)(7 downto 0);
-----------------------------------------
Port Map
-----------------------------------------
sub_module
    port map (
  .........
        offset_1   => to_portmap(4 downto 0),
        clk       => clk,
  .........
     
    ); 

Vivado is generating the below error message in the synthesis phase:

[Synth 8-658] type mismatch for port 'offset_1' 

Solution

This is a known issue with Vivado synthesis and this issue will be addressed in future releases.

To work around the issue, make the change below:

sub_module
    port map ( 
  .........
        offset_1   => memory(0)(4 downto 0),
        clk       => clk,
  .........
     
    ); 

After you modify the definition of the port map, the design will be able to complete the synthesis.

AR# 65409
Date Created 09/14/2015
Last Updated 10/01/2015
Status Active
Type Known Issues
Tools
  • Vivado Design Suite