VHDL数据类型的转换

在VHDL程序中,不同类型的对象不能代入,因此要进行类型转换.类型转换的方法有:
(1)类型标记法.用类型名称来实现关系密切的标量类型之间的
转换.
例如: VARIABLE x:INTEGER;
VARIABLE y:REAL;
使用类型标记(即类型名)实现类型转换时,可采用赋值语句:
x :=INTEGER(y); y :=REAL(x).
(2)类型函数法.
VHDL程序包中提供了多种转换函数,使得某些类型的数据之间可以相互转换,以实现正确的赋值操作.常用的类型转换函数有:
★CONV_INTEGER ( ):将STD_LOGIC_VECTOR类型转换成
INTEGER类型.
★CONV_STD_LOGIC_VECTOR( ):将INTEGER类型,UNSIGNED
类型或 SIGNED类型转换成STD_LOGIC_VECTOR类型.
TO_BIT ( ): 将STD_LOGIC类型转换成BIT类型.
TO_BIT_VECTOR( ):将STD_LOGIC_VECTOR类型转换
BIT_VECTOR 类型.
★TO_STD_LOGIC( ): 将BIT类型转换成STD_LOGIC类型.
★TO_STD_LOGIC_VECTOR( ): 将BIT_VECTOR类型转换成
STD_LOGIC_VECTOR类型.
注意 :引用时必须首先 打开库和相应的程序包.
该函数由STD_LOGIC_UNSIGNED
程序包定义
该函数由STD_LOGIC_ARITH
程序包定义
以下函数由STD_LOGIC_1164

-0-----------------------------------------------

类型转换
类 型 变 换 函 数
STD_LOGIC_VECTOR转换成INTEGER
STD_LOGIC_UNSIGNED包含集
CONV_INTEGER(A)
由INTEGER,UNSDGNED,SIGNED转换成STD_LOGIC_VECTOR
由UNSIGNED,SIGNED转换成INTEGER
STD_LOGIC_ARITH包集合
CONV_STD_LOGIC_VECTOR(A,位长)
CONV_INTEGER(A)
BIT_VECTOR转换为STD_LOGIC_VECTOR
STD_LOGIC_VECTO转换为BIT_VECTOR
BIT转换成STD_LOGIC
STD_LOGIC转换成BIT
STD_LOGIC_1164包集合
TO_STDLOGICVECTOR(A)
TO_BITVECTOR(A)
TO_STDLOGIC(A)
TO_BIT(A)
功 能
函 数 名
由"STD_LOGIC_VECTOR"变换成"INTEGER"的实例
LIBRARY IEEE;
USE IEEE STD_LOGIC_1164.ALL;
USE IEEE STD_LOGIC_UNSIGNED.ALL;
ENTITY add5 IS
PORT (num:IN STD_LOGIC_VECTOR (2 DOWNTO 0);

);
END add5;
ARCHITECTURE rtl OF add5 IS
SIGNAL in_num:INTEGER RANGE 0 TO 5;

BEGIN
in_num<=CONV_INTEGER (num); 位矢量转换成整数变换式

END rtl;
^0^

------------------------

                                                          

STD_LOGIC_1164包集合

TO_STDLOGICVECTOR(A) 由BIT_VECTOR转换为STD_LOGIC_VECTOR

TO_BITVECTOR(A)           由STD_LOGIC_VECTO转换为BIT_VECTOR

TO_STDLOGIC(A)             由BIT转换成STD_LOGIC

TO_BIT(A)                       由STD_LOGIC转换成BIT

STD_LOGIC_ARITH包集合

CONV_STD_LOGIC_VECTOR(A, 由INTEGER,UNSDGNED,SIGNED转换

位长)                                       STD_LOGIC_VECTOR

CONV_INTEGER(A)                  由UNSIGNED,SIGNED转换成INTEGER

STD_LOGIC_UNSIGNED包含集

CONV_INTEGER(A)                  由STD_LOGIC_VECTOR转换成INTEGER

n          LIBRARY IEEE;

n       USE IEEE STD_LOGIC_1164.ALL;

n       USE IEEE STD_LOGIC_UNSIGNED.ALL;

n       ENTITY add5 IS

n       PORT (num:IN STD_LOGIC_VECTOR (2 DOWNTO 0);

n       ┇

n                          );

n       END add5;

n       ARCHITECTURE rtl OF add5 IS

n       SIGNAL in_num:INTEGER RANGE 0 TO 5;

n       ┇

n       BEGIN

n       in_num<=CONV_INTEGER (num); 位矢量转换成整数变换式

n       ┇

n       END rtl;

时间: 2024-10-20 05:11:49

VHDL数据类型的转换的相关文章

数据类型的转换

数据类型的转换分为俩中:自动类型的转换(小转大),强制类型的转换(大转小) package com.java.chap02; public class Demo05 { public static void main(String[] args) { // 自动类型转换 short s=1; int i; // 自动类型转换,short类型转换成int类型 安全的 i=s; System.out.println("i="+i); // 强制类型转换 double d=1.333; fl

java的数据类型的转换

一:java的数据类型转换除布尔类型boolean(不能转换)有两种:<一> 自动转换: <二> 强制转换 <一>.自动转换:就是将小的数据类型自动转换成大的数据类型.如:int与byte计算时,byte(-128~127)自动的转换成int(-2147483648~2147483647)的类型. 0.1.基本数据类型自动转换: byte->short,char -> int -> long float -> double int -> f

从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值

最近在ASP.NET MVC中遇到一个问题,如题,在使用EF数据模型的时候,要去添加一条新的数据到Sqlserver数据库,在之前项目中并没有出现该异常,所以去扒了扒demo,发现有几个字段(数据库类型为datetime)savechange的时候默认绑定了datetime.now.问题就在这里,我的新项目并没有给定这几个字段的数据.下面总结下: 触发该错误的条件如下: SQL Server数据库版本中的字段类型为datetime2 数据库中,某个要进行Add或者Edit的字段的数据类型为dat

String数据类型的转换

数据类型转换各种原始数据类型与String类型之间可以通过方法相互转换.valueOf()系列的静态方法用于从其它对象(原始数据类型对象)转换成字符串.例如:public static String valueOf(Booleanb)public static String valueOf(charc)public static String valueOf(inti)public static String valueOf(longl)public static String valueOf(

语言基础:C#输入输出与数据类型及其转换

今天学习了C#的定义及特点,Visual Studio.Net的集成开发环境和C#语言基础. C#语言基础资料——输入输出与数据类型及其转换 函数的四要素:名称,输入,输出,加工 输出 Console.Write("这是我的第一个程序");//不换行,(不要漏掉:)(所有的符号全都用英文)(方法,也就是函数后面必须跟括号) Console.WriteLine("第二句");//输出这句后会换行 “这是我的第一个程序”后不换行,紧跟“第二句”,“第二句”换行,光标进入

Java中数据类型的转换

Java中的数据类型在定义时其实就已经确定了,所以是不能随意转换成其它的数据类型的.我们只能在一定程度上对其做类型转换的处理.转换的方式有 “自动类型转换”和“强制类型转换”两种. ①数据类型的自动转换: 假若在程序中定义好数据类型变量以后,又想用另一种数据类型来表示.Java只有在下列的条件都满足的情况下,才会做出数据类型的转换: 1.转换前的数据类型与转换后的类型兼容,也就是说只能是同一种数据类型,要么都是数值型,要么都是字符类型的: 2.转换后的数据类型表示范围比转换前的类型表示的范围大.

JAVA数据类型自动转换,与强制转换

一.数据类型自动转换 public class Test{ public static void main(String[] args){ int a = 1; double b = 1.5; double a_b_count = a+b; //整型与双精度型相加时,结果会自动转换为双精度型 String c = "凌"; char d = '晨'; char e = '好'; String c_d_e_content = c+d+e; //字符型与字符串型相加时,结果会自动转换为字符

day02_变量_基本数据类型_数据类型的转换_Scanner_20150731

回顾: 昨天主要讲了3个方面的内容: 1.Linux 操作系统.开源的.免费 服务器端 目录.挂载点.安全级别高 /:根目录 /home/soft01:主目录/家 2.java开发环境 1).java源文件,经过编译,生成.class字节码文件 JVM加载.class并运行.class 跨平台.一次编程到处使用 2)JVM:java虚拟机 加载并运行.class JRE:java运行环境 除了包含JVM以外还包含运行java程序所需要的必须的环境 JRE=JVM+java系统类库 JDK:jav

Java数据类型的转换

Java数据类型的转换,基本类型的相互转换 1如何将字串 String 转换成整数 int? A. 有2个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i = Integer.valueOf(my_str).intValue(); 注: 字串转成 Double, Float, Long 的方法大同小异. 2 如何将整数 int 转换成字串 Stri