data types 1.pre-defined data types 2. user-defined data types

7
DATA TYPES 1.Pre-Defined Data Types 2. User-Defined Data Types

Upload: erik-lawson

Post on 18-Jan-2016

241 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: DATA TYPES 1.Pre-Defined Data Types 2. User-Defined Data Types

DATA TYPES

1.Pre-Defined Data Types

2. User-Defined Data Types

Page 2: DATA TYPES 1.Pre-Defined Data Types 2. User-Defined Data Types

VHDL contains a series of pre-defined data types which are specified through the IEEE 1076 and IEEE 1164 standards.

Packages / libraries containing various data types1. Package standard of library std :- It defines BIT, BOOLEAN,

INTEGER and REAL data types.Ex: BIT (and BIT_VECTOR) :- 2-LEVEL LOGIC (‘0’, ‘1’)SIGNAL X: BITX<= ‘1’;SIGNAL Y: BIT_VECTOR ( 3 down to 0 );Y<= “1100”; SIGNAL W: BIT_VECTOR( 0 TO 7 );W <= 01110011; --(MSB=1)

Page 3: DATA TYPES 1.Pre-Defined Data Types 2. User-Defined Data Types

BOOLEAN: TRUE, False.

INTEGER: 32 bit integer (from -2147483647 to +2147483647)

REAL: From -1.0E38 to +1.0E38 (not synthesizable)

Page 4: DATA TYPES 1.Pre-Defined Data Types 2. User-Defined Data Types

Package std_logic_1164 of library ieeeIt defines STD_LOGIC and STD_ULOGIC

datatypes.

STD_LOGIC (and STD_LOGIC_VECTOR): 8 valued logic system introduced in the IEEE 1164 standard.

‘X’ Forcing unknown (synthesizable unknown)‘0’ Forcing Low (synthesizable logic ‘0’)‘1’ Forcing High (synthesizable logic ‘1’) ‘Z’ High impedance (synthesizable tri-state buffer)

Page 5: DATA TYPES 1.Pre-Defined Data Types 2. User-Defined Data Types

‘W’ Weak unknown‘L’ Weak low‘H’ Weak high‘-’ Don’t care

• These four logic levels are intended for simulation only.

• The multiple driven nodes are resolved in favor of forcing values with respect to the weak values.

Page 6: DATA TYPES 1.Pre-Defined Data Types 2. User-Defined Data Types

In STD_LOGIC, the conflicting logic levels are resolved according to following table

X 0 1 Z W L H -X X X X X X X X X0 X 0 X 0 0 0 0 X1 X X 1 1 1 1 1 XZ X 0 1 Z W L H XW X 0 1 W W W W XL X 0 1 L W L W XH X 0 1 H W W H X- X X X X X X X X

Page 7: DATA TYPES 1.Pre-Defined Data Types 2. User-Defined Data Types

It includes an extra logic value, ‘U’ which stands for unresolved. In this conflicting logic levels are not automatically resolved, so output wires should never be connected together directly.It is used to detect design errors.

STD_ULOGIC (STD_ULOGIC_VECTOR) :- 9-Level logic system introduced in the IEEE 1164 standard (‘U’, ’X’, ‘0’, ‘1’, ‘Z’, ‘W’, ‘L’, ‘H’, ‘-’)