• 0
Sign in to follow this  
askhunter

"port type is not recognized. " error in vivado

Question

I'm trying to add module to the schematic I designed, but I got an error because of types.vhdl.

I hope we can solve the problem.
 

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

package types is

subtype pixel8 is std_logic_vector(7 downto 0); 

type frame_type is array(natural range <>) of pixel8

subtype frame9 is frame_type(0 to 8);

end types;

aaaasseee.JPG.5fd8b7d32d507ed2992f3d1400574edc.JPG

port.JPG.4b6f74e449bf9cb3e53c73659cc4498a.JPGorderrrrr.JPG.b490e7d751d38d7f80ebb9e86449f33e.JPG

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0
2 hours ago, askhunter said:

type frame_type is array(natural range <>) of pixel8

Using unconstrained arrays is generally a bad idea for synthesis. Even when you expect to constrain it later when using frame_type don't assume that your synthesis tool will close the loop. Refer to UG901 for Vivado VHDL support and coding guidelines. 

There are differences between synthesis tools from various vendors in how and the order of when code is evaluated.

Share this post


Link to post
Share on other sites
  • 0
Posted (edited)

I did the "port mapping" manually. then I synthesized and gave no error. 

Does this mean that the "user defined" type , which i defined, will runs on the card without any problems?

oneee.JPG.3811ddccc65b4db483cd85c7469e9984.JPG

Edited by askhunter

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this