STD_LOGIC与BIT有什么区别
发布网友
发布时间:2022-05-06 13:04
我来回答
共1个回答
热心网友
时间:2023-07-22 07:04
BIT是
一个逻辑型的数据类型,端口为BIT类型时,该端口的信号取值只可能是“1”或“0”(“1”或“0”是值逻辑值),当端口为BIT_VECTOR时,该
端口的取值可能是一组二进制的值(如某一数据总线输出端口具有8位的总线宽度,那么这样的总线端口的数据类型可以被说明为BIT_VECTOR)。
STD_LOGIC是IEEE在1993年制定的新的标准(IEEE STD1164),它具有9种不同的值:
'U'——初始值
'X'——不定
'0'——0
'1'——1
'Z'——高阻
'W'——弱信号不定
'L'——弱信号0
'H'——弱信号1
'-'——不可能的情况
在使用该数据类型时,在程序中必须写出库说明语句和使用包集合的说明语句。
BIT只能取两个值,非1即0,而STD有9个取值.对于bit数据类型,clock'EVENT AND clock = '1'是检测信号的上升沿;
std_logic类型的数据则不可以这样做,原因是此数据类型的取值是很多选择的.用RISING_EDGE(clock)则可以进行信号的上升沿判断.RISING_EDGE是VHDL语言在IEEE库中的标准程序包内的预定义函数.