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
_Vectorfollowing 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)logicorstd_(u)logic_vectordata types.Addresses, counters, … signals (with arithmetic/numeric meaning) are implemented using
(unresolved_)unsignedor(unresolved_)signeddata 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.