VHDL数据类型的转换_std_logic类型值不能直接赋值给std_logic_vector-程序员宅基地

在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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/victorzheng2012/article/details/8765614

智能推荐

tensor多维向量的简单理解-程序员宅基地

文章浏览阅读2.9k次,点赞2次,收藏15次。tensor是Tensorflow中最基础的数据结构,常常翻译为张量,可以理解为n维数组或矩阵,相关函数:constant(value, dtype=None, shape=None, name='Const', verify_shape=False)三维方向定义,适用于2维和3维0、零维张量import tensorflow as tf#零维张量const0 = tf.constant(1, tf.float16)print(const0)运行结果:.._多维向量

axios拦截器及封装_axios拦截器封装-程序员宅基地

文章浏览阅读235次。上一步咱们将axios拦截器进行了封装,一般项目工程化会将所有的接口封装到一个js中。在请求或响应被 then 或 catch 处理前拦截它们。在需要使用的页面进行调用。_axios拦截器封装

南昌工程学院C语言成绩冲抵,南昌工程学院c语言程序设计基础课件 第9讲 结构体.ppt...-程序员宅基地

文章浏览阅读123次。南昌工程学院c语言程序设计基础课件 第9讲 结构体选项中能打印出字母”M”的语句是 struct person { char name[9]; int age; }; struct person class[10]={“John”,17,“Paul”,19, “Mary”,18, “Adam”,..._南昌工程学院c++

win10手动添加程序到右键菜单/右键以pycharm project方式打开文件夹_如何设置用pycharm以项目形式打开文件夹-程序员宅基地

文章浏览阅读1.2w次,点赞16次,收藏37次。这次主要原因是在安装pycharm时,没选择将pycharm加入右键菜单,以至于无法选定文件夹作为pycharm项目打开,每次都需要打开pycharm,加载一个自己不需要的项目,再从pycharm里打开自己想要的。就去查了一下在win10里如何手动添加指定程序在右键里打开文件夹。然后操作并记录了一下。如果想添加在选定文件夹的情况下用指定程序打开,可以直接看第二部分。仅仅是将程序加入右键菜单,看第一部分。第一部分:添加程序到右键菜单。这里实验程序为pycharm,路径是形如D://pycharm/p_如何设置用pycharm以项目形式打开文件夹

centos自带 mysql卸载不了_centos 自带mysql卸载时出现无法卸载情况-程序员宅基地

文章浏览阅读64次。[dianyi@localhost ~]$ rpm -qa|grep mysqlmysql-libs-5.1.52-1.el6_0.1.x86_64[dianyi@localhost ~]$ rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64error: Failed dependencies:libmysqlclient.so.16()(64bit) is nee..._libmysqlclient16-5.1.69-1.w6.x86_64 无法删除

Servlet[jsp]的Servlet.service()引发了具有根本原因的异常无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/js_在路径为/helloworld的上下文中,servlet[jsp]的servlet.service(-程序员宅基地

文章浏览阅读1.6w次。问题描述28-Jul-2020 11:44:56.960 严重 [http-nio-8080-exec-1] org.apache.catalina.core.StandardWrapperValve.invoke 在路径为的上下文中,Servlet[jsp]的Servlet.service()引发了具有根本原因的异常无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core] org.apache.jasper.Ja_在路径为/helloworld的上下文中,servlet[jsp]的servlet.service()引发了具有根本

随便推点

wepy/mpvue/taro/uni-app,小程序开发框架哪家强?-程序员宅基地

文章浏览阅读644次。微信小程序如火如荼,各家小程序快速跟进,继App、H5之后,小程序平台已跃升为第三大流量平台,那现阶段快速开发小程序的更优方案是什么?选择原生开发,还是借助跨端框架?每个框架又有何差异?本文经授权转载,如下为原文,enjoy!之前 Taro 团队发布了一篇《小程序多端框架全面测评》,让开发者对业界主流的跨端框架,有了初步认识。感谢 Taro 团队的付出。不过横评这件事,要想得到更精确的结..._weui和uniapp相比

使用sudo apt-get update报错:E: 无法下载 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/dists/xenial/main/b_sudo apt-get update无法下载-程序员宅基地

文章浏览阅读1.4w次,点赞17次,收藏84次。E: 无法下载 http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/dists/xenial/main/binary-amd64/Packages 404 Not Found [IP: 101.6.15.130 80]E: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。原因分析:源的问题,更换源先备份源文件修改源文件将内容替换成保存即可,重新运行sudo apt-get update本教程使用的是ubuntu18.04,其他版本清参_sudo apt-get update无法下载

【通过URL获取目标服务器信息介绍】_怎么从url中获取到ip地址-程序员宅基地

文章浏览阅读3.5k次。客户端再向顶级域DNS服务器发起查询请求,顶级域DNS服务器再返回二级域DNS服务器的IP地址。URL中的域名需要先经过域名解析,将其转换为对应的IP地址。获取到目标服务器的IP地址后,需要进行端口扫描,以获取目标服务器开放的端口号。例如,根据URL获取目标服务器的IP地址和端口号后,可以将其添加到防火墙的白名单中,限制对该服务器的访问。通过获取目标服务器的IP地址和端口号,可以与目标服务器建立网络连接并进行相应的网络操作。最终,客户端与负责域名解析的DNS服务器进行通信,获取到目标服务器的IP地址。_怎么从url中获取到ip地址

C++ 7-1类的继承与派生(PTA题目)_定义平面二维点类cpoint,有数据成员x坐标,y坐标,函数成员(构造函数、虚函数求面积-程序员宅基地

文章浏览阅读7.8k次,点赞7次,收藏26次。定义平面二维点类CPoint,有数据成员x坐标,y坐标,函数成员(构造函数复制构造函数、虚函数求面积GetArea,虚函数求体积函数GetVolume、输出点信息函数print。由CPoint类派生出圆类Cirle类(新增数据成员半径radius),函数成员(构造函数、复制构造函数、求面积GetArea,虚函数求体积函数GetVolume、输出圆信息函数print。 再由Ccirle类派生出圆柱体Ccylinder类(新增数据成员高度height),函数成员(构造函数、复制构造函数、求表面积GetArea,_定义平面二维点类cpoint,有数据成员x坐标,y坐标,函数成员(构造函数、虚函数求面积

在Jupyter Notebook的Markdown中插入图片_jupyter notebook markdown插入图片-程序员宅基地

文章浏览阅读4.2k次,点赞4次,收藏3次。在Jupyter Notebook的Markdown中插入图片本地图片在线图片本地图片Notebook的输入框的格式为:Markdown。找到待插入的图片,直接右键选择复制。在Markdown形式下的输入框中将复制结果Ctrl+V输入进去,运行即可。下面是上传电脑中的Test图片![Test.jpg](attachment:Test.jpg)运行之后图片即能加载:在线图片在Notebook的Markdown输入框中输入:![Image]()复制在线_jupyter notebook markdown插入图片

Javaweb基于servlet在线教学答疑系统 在线教师答疑 网络答疑平台 源码_基于java web的学习问答系统-程序员宅基地

文章浏览阅读54次。在线教师答疑 网络答疑平台 项目介绍 基于java+jsp+servlet+mysql技术, 实现一个在线教学答疑系统, 学生可以通过该网站提出问题留言,教师登录后可以进行答疑, 系统管理员可以对答疑系统进行管理 运行环境 java, jdk1.8,tomcat8.5,mysql5.6,EclispseEE 项目技术 java, bootstrap, jsp, servlet, jquery 实现功能 实现学生的账号登录注册 教师与管理员的登录与退出 管理员完成学院管理,教师管理, 课程管理, 并能修改管理_基于java web的学习问答系统

推荐文章

热门文章

相关标签