VHDL 数据类型的转换
在 VHDL 中 , 数据类型的定义是十分严格的 , 不同类型的数据之间是不能进行运算或者赋值操作的 , 这一点读者一定要注意。对于某一数据类型的常量、变量、信号和文件之间进行运算或者赋值操作时 , 必须要保证数据类型的一致性 , 否则仿真和综合过程中 EDA工具将会给出错误信息。可见 , 数据类型的转换在编写 VHDL 程序中显得十分重要。
通常 , VHDL 提供了 3 种数据类型的转换方法 , 它们分别是类型标识符转换、常量转换 和函数转换。
1. 类型标识符转换
这里 , 所谓类型标识符转换实际上就是利用数据类型的名称来进行类型的转换 , 这种方法通常只适用于那些关系比较密切的数据类型之间的转换。例如 , 整数和实数之间的数据类型转换 :
SIGNAL m: integer;
SIGNAL n: real;
m<= integer (n);
n < = real (m);
需要注意的是 , 上面实数转换整数时会发生四舍五入现象。不难看出, 采用类型标识符转换方法十分简单易行。但是, 类型标识符转换只适用于那些关系密切的数据类型 , 如果对关系并不十分密切的数据类型之间使用了这种方法 , 那么仿真和综合过程中 EDA 工具将会 给出错误信息。 |