SV-BC Separate Compilation discussion 5/12/03 Attendees 00 54 12 28 00 33 aa Karen Pieper aa Randy Misustin -a Dennis Brophy -a Danny Jacobi aa Brad Pierce -a Dave Rich aa Francoise Martinolle a- Matt Maidment Matt likes the namespace approach like Perl. In that language you can refer to things with both a hierarchical approach and also through a merged namespace with no hierarchical qualifier. Today this can be achieved through prefixes. Matt also likes 'import so that the guarding can get handled without user intervention. Looking at the characteristics, it seems that types cannot be known at elaboration time. Design Compiler has three phases: analysis, elaboration, and link time. Being able to specify types at elaboration rather than link time is helpful to get better simulation performance, and potentially earlier error messages. Type parameterized modules give you templates. This is good, but with the current situation implies that error messages comes later in the process rather than earlier. Francoise asked the question do we need $root? Can we propose a solution that doesn't use $root? We then discussed the characteristics of a successful solution to this problem. We updated the characteristics as described below: Reword the first characteristic: Type definition for items in $root, xmr, and and other external references need to be expressable. 1. We may wish to require the definition for complex types. 2. We cannot require defintions for simple types and support backwards compilation. Reword the second characteristic: Multiple compilation units must be able to reference an object in $root. A mechanism to resolve those references must exist at elaboration time. The third characteristic is ok. Subbullet 1 is ok. Subbullet 2 is reworded to: The solution needs to have a way of providing types local to a multiple module separate compilation unit (think IP). The fourth characteristic becomes: Any solution should be easy to use and intuitive. Remove the fifth charateristic from the document. (Features (for example, $root) cannot be removed from the language). Keep six unchanged. Reword seven to say: Integration with other languages should be straigtforward. How to proceed? Next time we will evaluate the proposals that exist using the characteristics we have described. The next meeting will not be May 26, 2003 (Memorial Day). Karen will send a note to the reflector to see when we can meet again.