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