TestBencher Pro and Reactive Test Bench Help

6.13 Language Independent Types

6.13 Language Independent Types

Previous topic Next topic  

6.13 Language Independent Types

Previous topic Next topic  

SynaptiCAD has defined a set of language independent types that is used by TestBencher's graphical interface in place of the native types for a given language. This is done to facilitate the development of language independent class definitions and variables. During test bench generation, the language independent type is converted to the appropriate native type for the language being generated. Not all of the language independent types are supported by all of the generation languages. The dialogs that allow selection of these types, such as the Class Definitions & Variables dialog, will only display the language independent types that are supported for at least one of the currently licensed languages. Additionally, these dialogs support a view that will display only the items that are available for the currently selected language.

Description of SynaptiCAD Language Independent Types

SynaptiCAD Type

BitSize

Description/Values

bool

1

Truth values (1 or 0)

2_state

1

0, 1

2_state_vector

variable

0, 1 in vector format

byte

8

Unsigned integer represented by 8 bits

int

32

Signed integer represented by 32 bits

unsigned_int

32

Unsigned integer represented by 32 bits

real

64

Floating point numbers

fixed_len_string

variable

Series of characters enclosed by quotes

variable_len_string

n/a

Series of characters enclosed by quotes

time

64

Simulation time quantities

4_state

1

0, 1, X, Z

4_state_vector

variable

0, 1, X, Z in vector format

event

n/a

Synchronization item

std_logic

1

U, X, 0, 1, Z, W, L, H, -

std_logic_vector

variable

U, X, 0, 1, Z, W, L, H, - in vector format

std_ulogic

1

Unresolved version of std_logic

std_ulogic_vector

variable

Unresolved version of std_logic_vector

signed_logic

variable

Signed version of std_logic_vector

unsigned_logic

variable

Unsigned version of std_logic_vector

Type Conversion

The chart below provides conversion information for converting between the language independent types and the generated language native types. Cells that are grayed out represent items where no conversion is available between the language independent type and the native language types.

SynaptiCAD

Verilog

VHDL

TestBuilder

bool

reg

boolean

bool

2_state

reg

bit

tbvSmartSignal2StateT

2_state_vector

reg

bit_vector

tbvSmartSignal2StateT

byte

reg

bit_vector

tbvSmartSignal2StateT

int

integer

integer

tbvSmartIntT

unsigned_int

integer

natural

tbvSmartUnsignedT

real

real

real

tbvSmartDoubleT

fixed_len_string

reg

string

char[]

variable_len_string

 

 

tbvSmartStringT

time

time

time

N/A

4_state

reg

std_logic

tbvSmartSignal4StateT

4_state_vector

reg

std_logic_vector

tbvSmartSignal4StateT

event

event

 

 

std_logic

 

std_logic

 

std_logic_vector

 

std_logic_vector

 

std_ulogic

 

std_ulogic

 

std_ulogic_vector

 

std_ulogic_vector

 

signed_logic

 

signed

 

unsigned_logic

 

unsigned

 

actel_current_delta

reg

std_logic

 

actel_temperature

reg

std_logic

 

actel_voltage

reg

std_logic

 

actel_voltage_common

reg

std_logic

 

actel_voltage_delta

reg

std_logic

 

Note that not all language types are perfectly equivalent to the SynaptiCAD type. Variances are as follow:

Verilog reg type is a four state type.

Verilog integer type is signed.

VHDL natural is a limited version of the VHDL integer type, so it’s max value is 2^31, not 2^32.

Some languages do not provide an unsigned integer type.