Skip to content

Applying resolution functions from another package by selected name #1055

@JimLewis

Description

@JimLewis

If I do:

use work.ResolutionPkg.all ; 
....
subtype RdyType is resolved_max integer range  0 to integer'high ;

everything is ok.

OTOH, if I try to minimize my package references and use selected names, such as the following:

subtype RdyType is work.ResolutionPkg.resolved_max integer range  0 to integer'high ;

Then I get:

Error:      > C:\OsvvmLibraries\osvvm\TbUtilPkg.vhd:165
Error:      |
Error:  165 |   subtype RdyType is work.ResolutionPkg.resolved_max integer range  0 to integer'high ;
Error:      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error:      |                      use of name OSVVM.RESOLUTIONPKG.RESOLVED_MAX here
Error:      |
Error:      = Note: visible declaration of OSVVM.RESOLUTIONPKG.RESOLVED_MAX as RESOLVED_MAX [STD_ULOGIC_VECTOR return STD_ULOGIC] from OSVVM.RESOLUTIONPKG
Error:          > C:\OsvvmLibraries\osvvm\ResolutionPkg.vhd:70
Error:      = Note: visible declaration of OSVVM.RESOLUTIONPKG.RESOLVED_MAX as RESOLVED_MAX [BIT_VECTOR return BIT] from OSVVM.RESOLUTIONPKG
Error:          > C:\OsvvmLibraries\osvvm\ResolutionPkg.vhd:80
Error:      = Note: visible declaration of OSVVM.RESOLUTIONPKG.RESOLVED_MAX as RESOLVED_MAX [INTEGER_VECTOR return INTEGER] from OSVVM.RESOLUTIONPKG
Error:          > C:\OsvvmLibraries\osvvm\ResolutionPkg.vhd:85
Error:      = Note: visible declaration of OSVVM.RESOLUTIONPKG.RESOLVED_MAX as RESOLVED_MAX [TIME_VECTOR return TIME] from OSVVM.RESOLUTIONPKG
Error:          > C:\OsvvmLibraries\osvvm\ResolutionPkg.vhd:90
Error:      = Note: visible declaration of OSVVM.RESOLUTIONPKG.RESOLVED_MAX as RESOLVED_MAX [REAL_VECTOR return REAL] from OSVVM.RESOLUTIONPKG
Error:          > C:\OsvvmLibraries\osvvm\ResolutionPkg.vhd:95
Error:      = Note: visible declaration of OSVVM.RESOLUTIONPKG.RESOLVED_MAX as RESOLVED_MAX [STRING return CHARACTER] from OSVVM.RESOLUTIONPKG
Error:          > C:\OsvvmLibraries\osvvm\ResolutionPkg.vhd:100
Error:      = Note: visible declaration of OSVVM.RESOLUTIONPKG.RESOLVED_MAX as RESOLVED_MAX [BOOLEAN_VECTOR return BOOLEAN] from OSVVM.RESOLUTIONPKG
Error:          > C:\OsvvmLibraries\osvvm\ResolutionPkg.vhd:105
** Error: unexpected identifier while parsing subtype declaration, expecting ;
Error:      > C:\OsvvmLibraries\osvvm\TbUtilPkg.vhd:165
Error:      |
Error:  165 |   subtype RdyType is work.ResolutionPkg.resolved_max integer range  0 to integer'high ;
Error:      |                                                      ^^^^^^^
Error:      |                                                      this token was unexpected
** Error: unexpected identifier while parsing subtype declaration, expecting ;
Error:      > C:\OsvvmLibraries\osvvm\TbUtilPkg.vhd:166
Error:      |
Error:  166 |   subtype AckType is work.ResolutionPkg.resolved_max integer range -1 to integer'high ;
Error:      |                                                      ^^^^^^^
Error:      |                                                      this token was unexpected
** Error: design unit depends on OSVVM.TBUTILPKG which was analysed with errors
Error:      > C:\OsvvmLibraries\osvvm\TbUtilPkg.vhd:367
Error:      |
Error:  367 | package body TbUtilPkg is
Error:      | ^^^^^^^^^^^^^^^^^^^^^^

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions