std
_
logic
_
vector
是标准逻辑矢量,定义的是长度大于1的变量,需要确定赋值方向 (n downto 0) o (0 to n)。
std
_
logic
是长度为1的逻辑 与bit 相似,只是 bit 只能是'0 ’和'1‘ 而
std
_
logic
有以下九种状态:U'——初始值,'X'——不定,'0'——0,'1'——1,'Z'——高阻,'W'——弱信号不定,'L'——弱信号0,'H'—...
STD
_
LOGIC
_1164包集合
TO_
STD
_
LOGIC
_
VECTOR
(A)----由BIT_
VECTOR
转
换为
STD
_
LOGIC
_
VECTOR
TO_BIT_
VECTOR
(A) -----------由
STD
_
LOGIC
_
VECTOR
转
换为BIT_
VECTOR
TO_
STD
_
LOGIC
(A)-------------由BIT
转
换成
STD
_
LOGIC
TO_BIT(A) --------------------由
STD
_
LOGIC
转
换成BIT
STD
_
将数据类型为
integer
,unsigned,signed,
std
_
logic
或
std
_u
logic
的操作数p
转
换成
integer
类型,不包括
STD
_
LOGIC
_
VECTOR
。:将数据类型为
integer
,signed,
std
_
logic
或
std
_u
logic
的操作数p
转
换成宽度为b的unsigned的数据类型。:将数据类型为
integer
,unsigned,
std
_
logic
或
std
_u
logic
的操作数p
转
换成宽度为b的signed的数据类型。例:
integer
转
换成
std
_
logic
_
vector
。
在
VHDL
程序中,不同类型的对象不能代入,因此要进行类型
转
换.类型
转
换的方法有:(1)类型标记法.用类型名称来实现关系密切的标量类型之间的
转
换.例如: VARIABLE x:
INTEGER
;VARIABLE y:REAL;使用类型标记(即类型名)实现类型
转
换时,可采用赋值语句:x :=
INTEGER
(y); y :=REAL(x).(2)类型函数法.
VHDL
程序包中提供了多种
转
换函数,使得某些类型
完整代码:LIBRARY IEEE;USE IEEE.
STD
_
LOGIC
_1164.ALL;USE IEEE.
STD
_
LOGIC
_UNSIGNED.ALL;USE IEEE.
STD
_
LOGIC
_ARITH.ALL;ENTITY B2G ISGENERIC(n:
INTEGER
:=4);PORT(
clk : IN
STD
_
LOGIC
;
input : IN
STD
_
LOGIC
_...
library IEEE;use IEEE.
std
_
logic
_1164.all;
package
std
_
logic
_arith is
type UNSIGNED is array (NATURAL range <>) of
STD
_
LOGIC
; type SIGNED is array (NATURAL range <>) of
STD
_LO...
STD
_
LOGIC
_1164程序包的
转
换函数有:
TO_
STD
_
LOGIC
_
VECTOR
(a); --由BIT_
VECTOR
转
换成
STD
_
LOGIC
_
VECTOR
TO_BIT_
VECTOR
(a); --由
STD
_
LOGIC
_
VECTOR
转
换成BIT_
VECTOR
TO_
STD
_
LOGIC
(a); --由BI...
//
VHDL
[数据类型]在
VHDL
中,必须在信号声明(信号),变量声明(变量)和常量声明(constant)的所有情况下指定数据类型。如果此类型不同,则诸如赋值之类的表达式将作为错误翻
转
。
VHDL
不仅具有多种类型的数据,还可以自己创建新类型。此外,还有在这些不同类型之间
转
换的函数。[
VHDL
的标准类型]//下表中的类型是
VHDL
标准预先提供的,
[用户定义类型] 用户可以定义新的数据类型。那时,使...
在
VHDL
程序中,不同类型的对象不能代入,因此要进行类型
转
换.类型
转
换的方法有:(1)类型标记法.用类型名称来实现关系密切的标量类型之间的
转
换.例如: VARIABLE x:
INTEGER
;VARIABLE y:REAL;使用类型标记(即类型名)实现类型
转
换时,可采用赋值语句:x :=
INTEGER
(y); y :=REAL(x).(2)类型函数法.
VHDL
程序包中提供了多种
转
换函数,使得某些类型