VHDL的如下STD库中对应的逻辑包有什么功用?
std_logic_1164std_logic_arithstd_logic_unsigned这三个逻辑包有什么功用?能具体举个例子吗?...
std_logic_1164 std_logic_arith std_logic_unsigned 这三个逻辑包有什么功用?能具体举个例子吗?
展开
1个回答
展开全部
首先,你列出的3个程序包都不在VHDL的STD库中,而是在IEEE库中。
std_logic_1164程序包声明了std_Ulogic类型及其决断子类型std_logic,也声明了这种类型构成的数组std_logic_vector,还有这些类型的逻辑运算符函数。如果你需要使用std_logic类型,并只做逻辑类运算的话,就只需要声明LIBRARY IEEE;和USE std_logic_1164.ALL;就可以了。
但如果你需要进行std_logic类型的算术运算的话,就还要再声明std_logic_arith程序包;如果你的算术运算的操作数是std_logic_vector类型的话,则根据你需要做带符号算术运算还是无符号算术运算,来决定是声明std_logic_signed程序包,还是声明std_logic_unsigned程序包。
std_logic_1164程序包声明了std_Ulogic类型及其决断子类型std_logic,也声明了这种类型构成的数组std_logic_vector,还有这些类型的逻辑运算符函数。如果你需要使用std_logic类型,并只做逻辑类运算的话,就只需要声明LIBRARY IEEE;和USE std_logic_1164.ALL;就可以了。
但如果你需要进行std_logic类型的算术运算的话,就还要再声明std_logic_arith程序包;如果你的算术运算的操作数是std_logic_vector类型的话,则根据你需要做带符号算术运算还是无符号算术运算,来决定是声明std_logic_signed程序包,还是声明std_logic_unsigned程序包。
追问
什么是带符号算术和无符号算术?能举个例子吗?
追答
如果你用一个std_logic_vector(n-1 downto 0)类型的信号或者变量来表示一个数,你将其看成是一个无符号数的话,其表示范围是0~2^n-1,而你将其看成是一个带符号数的话,则其表示范围就是-2^(n-1)~+2^(n-1)-1。
举个例子:std_logic_vector(7 downto 0)类型的信号或者变量,看成是无符号数,可以表示0~255("00000000"~"11111111");而看成是带符号数的话,则可以表示的范围是-128~+127("10000000"~"01111111"),最高位是符号位。
Sievers分析仪
2024-10-13 广告
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询