title: Error declaring and using signed complex quantity using enumerated indices
body: <p>I declared the following in a common package file called FAT_Lib:</p>
  
  <pre><code>type complex_field is (re,im);
  type signed_complex is array(complex_field) of signed;
  </code></pre>
  
  <p>I then declared a signal in the port interface of an entity the following way:</p>
  
  <pre><code>MF: out signed_complex(9 downto 0);
  </code></pre>
  
  <p>Modelsim produces the following error when the entity is compiled:</p>
  
  <blockquote>
    <p>In array constraint at depth 1 the array fat_rtl.FAT_Lib.signed_complex has already been constrained.</p>
  </blockquote>
  
  <p>I understand that the compiler takes the <code>(9 downto 0)</code> as constraining the array size rather than the signed quantity wordlength. Does anyone see the error(s) in my declaration? My goal is to be able to access the real and imaginary parts of <code>MF</code> as <code>MF(re)</code> and <code>MF(im)</code>.</p>
  
  <p>Thanks</p>