( ESNUG 243 Item 8 ) ---------------------------------------------- [7/17/96]

From: wyamamo@ibm.net (Wataru Yamamoto)
Subject: VHDL Compiler 3.4b Problems With Generics & Aggregates

Dear John,

VHDL Compiler 3.4b doesn't accept a vhdl description where a sub-block
(template) has a generic specifying width of vector ports like:

  entity subblk is
    generic(N: integer);             -- vector width
    port(A: in bit_vector(0 to N-1); -- 'N' specifies the width.
         B: out bit);
  end subblk;
  architecture something of subblk is
  begin
    B <= A(A'left);
  end something;

Plus VHDL Compiler hates it when a formal port is divided by vector indexes
in a port map like:

  architecture dc_error of top is
    component subblk
      generic(N: integer);             -- vector width
      port(A: in bit_vector(0 to N-1); -- 'N' specifies the width.
           B: out bit);
    end component;
  begin
    U0: subblk
      generic map(4);
      port map(A(0 to 1)=>P0, A(2 to 3)=>P1,  -- Error!!!!!!
               B =>P2);
  end dc_error;

It gives the error:

  Error: Cannot determine type of the aggregate
          in routine top line 55 in file '...../ex.vhd'
          (This error can occur if an aggregate and a generic appear in the
          same component instantiation.) (HDL-206)

When will Design Compiler (VHDL Compiler) support the above?

  - Wataru Yamamoto
    IBM Japan


 Sign up for the DeepChip newsletter.
Email
 Read what EDA tool users really think.


Feedback About Wiretaps ESNUGs SIGN UP! Downloads Trip Reports Advertise

"Relax. This is a discussion. Anything said here is just one engineer's opinion. Email in your dissenting letter and it'll be published, too."
This Web Site Is Modified Every 2-3 Days
Copyright 1991-2024 John Cooley.  All Rights Reserved.
| Contact John Cooley | Webmaster | Legal | Feedback Form |

   !!!     "It's not a BUG,
  /o o\  /  it's a FEATURE!"
 (  >  )
  \ - / 
  _] [_     (jcooley 1991)