Introduction

Naming Convention

Types

***_Interface:

All IC internal interface records are suffixed with _Interface.

***_PcbInterface:

All IC external interface records are suffixed with _PcbInterface.

***_Vector:

All arrays are suffixed with _Vector following the IEEE Std. 1076 naming scheme.
An array of an interface is _Interface_Vector.

***_***View:

All mode views are suffixed with _***View, where *** is describing the point of view.

Generics

***_BITS:

The number of bits.

***_COUNT:

The number of items.

Packages

Member Data Types

  • For IC internal interfaces, unresolved data types are used:

    • std_ulogic,

    • std_ulogic_vector,

    • unresolved_unsigned,

    • unresolved_signed,

  • For IC external interfaces, resolved data types are used:

    • std_logic,

    • std_logic_vector,

    • unsigned,

    • signed,

  • Data and control signals are implemented using std_(u)logic or std_(u)logic_vector data types.

  • Addresses, counters, … signals (with arithmetic/numeric meaning) are implemented using (unresolved_)unsigned or (unresolved_)signed data types.

  • Integer and real data types shouldn’t be used in interfaces.

  • Arrays of fixed sizes should use a previously defined constrained array subtype.

  • Commands, status codes, return codes, … where binary mapping is predefined, are implemented as constrained arrays.
    Each code should declare a set of constants.

  • Status codes, return codes, … where no binary mapping is defined by the standard, are implemented using enumeration types.