cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Visitor
Visitor
524 Views
Registered: ‎12-09-2014

IP with port array is possible?

Hello, 

My IP deisgn has an input port  DATAIN of 8 elements of 16 bits each. As data is arriving in parallel way, I completely partitionned the array, which produces this:

DATAIN_0 : IN STD_LOGIC_VECTOR (15 downto 0);
DATAIN_1 : IN STD_LOGIC_VECTOR (15 downto 0);
DATAIN_2 : IN STD_LOGIC_VECTOR (15 downto 0);
DATAIN_3 : IN STD_LOGIC_VECTOR (15 downto 0);
DATAIN_4 : IN STD_LOGIC_VECTOR (15 downto 0);
DATAIN_5 : IN STD_LOGIC_VECTOR (15 downto 0);
DATAIN_6 : IN STD_LOGIC_VECTOR (15 downto 0);
DATAIN_7 : IN STD_LOGIC_VECTOR (15 downto 0);

Is there a way of producing just one port name, as array port? Something like:

DATAIN: IN set_of_items;

where:

type set_of_items is array (8-1 downto 0) of std_logic_vector (16-1 downto 0);

 

I want to keep just one name for easily connecting my design to other RTL blocks. 

 

I precise that my source file is in c language. My code is like this:

void my_IP(datain_type DATAIN){

//The body

}

typedef uint16 datain_type [8];

 

Thank you in advance

0 Kudos
Reply
0 Replies