package bisr_lib is -- fu type for different functional units (enum type) type fu_type is (and2,nor2,xor2); type vector_width is record input_width : integer; output_width : integer; end record; function get_vector_width(fu : fu_type) return vector_width; end package bisr_lib; package body bisr_lib is --! get_vector_width description function get_vector_width(fu : fu_type) return vector_width is begin if fu = and2 then return vector_width'(2,2); elsif fu = nor2 then return vector_width'(3,3); elsif fu = xor2 then return vector_width'(32,32); end if; end function get_vector_width; end package body bisr_lib;